为了账号安全,请及时绑定邮箱和手机立即绑定

python 中的二维列表

python 中的二维列表

慕的地8271018 2023-08-08 15:37:02
为什么这段代码:grid = [[" "] * 10] * 5for c in range(10):  grid[0][c] = '#'for r in grid:  print(r)输出这个?['#', '#', '#', '#', '#', '#', '#', '#', '#', '#']['#', '#', '#', '#', '#', '#', '#', '#', '#', '#']['#', '#', '#', '#', '#', '#', '#', '#', '#', '#']['#', '#', '#', '#', '#', '#', '#', '#', '#', '#']['#', '#', '#', '#', '#', '#', '#', '#', '#', '#']我将第一个索引固定为 0。其他子列表不应更改。
查看完整描述

1 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

您需要创建新值而不是再次引用它们!


grid = [[" " for _ in range(10)] for __ in range(5)] 


for c in range(10):

  grid[0][c] = '#'


for r in grid:

  print(r)

['#', '#', '#', '#', '#', '#', '#', '#', '#', '#']

[' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ']

[' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ']

[' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ']

[' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ']


查看完整回答
反对 回复 2023-08-08
  • 1 回答
  • 0 关注
  • 142 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号