qq_39254668 2021-08-06 17:20 采纳率: 100%
浏览 107
已结题

python,如何给二维数组编号?


a = [[0] * 4] * 4
id = 0
for i in range(4):
    for j in range(4):
        a[i][j] = copy.deepcopy(id)
        id += 1
print(a)

实际输出:
[[12, 13, 14, 15], [12, 13, 14, 15], [12, 13, 14, 15], [12, 13, 14, 15]]
我希望的输出:
[[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11], [12, 13, 14, 15]]

  • 写回答

2条回答 默认 最新

  • CSDN专家-Time 2021-08-06 17:22
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 八云黧 2021-08-06 17:24
    关注

    使用[[0]*4*4]这种方式会导致,数组中的内部数组指向同一个数组
    而且deepcopy也不是这么用的

    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月14日
  • 已采纳回答 8月6日
  • 创建了问题 8月6日

悬赏问题

  • ¥30 AXI VIP验证多余打印问题
  • ¥15 利用加权最小二乘法求某品牌手机价格指标,已按照总销量计算出权重,各类型号手机价格已知,如何求得价格指标?
  • ¥15 如何自制一个硬件钱包,有兴趣的朋友一起交流
  • ¥15 (关键词-聊天软件)
  • ¥15 求大家看看这个编程的编法没有思路啊
  • ¥20 WSL打开图形化程序子窗口无法点击
  • ¥15 Jupyter Notebook 数学公式不渲染
  • ¥20 ERR_CACHE_MISS 确认重新提交表单
  • ¥20 关于vba使用HTMLfile执行js函数问题
  • ¥60 悬赏求解,通过实时现场摄像头的视频图像识别其他对家打出的麻将牌,识别麻将牌,识别牌墙位置,通过识别对家打出了什么牌