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

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 关注
  • 54 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信