加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 这种数组意味着什么/做什么?

发布时间:2020-12-20 12:24:10 所属栏目:Python 来源:网络整理
导读:参见英文答案 List of lists changes reflected across sublists unexpectedly????????????????????????????????????12个 我在一个涉及拼图的代码中发现了这个声明,有人能解释它在做什么吗?我试过看自己,但我真的不明白. test = [[0] * 9] * 9 解决方法 当
参见英文答案 > List of lists changes reflected across sublists unexpectedly????????????????????????????????????12个
我在一个涉及拼图的代码中发现了这个声明,有人能解释它在做什么吗?我试过看自己,但我真的不明白.

test = [[0] * 9] * 9

解决方法

当你这样做

[0] * 9

你得到一个有9个0的列表:

[0,0]

当你这样做

[[0] * 9] * 9

你得到

[[0,0],[0,0]]

换句话说,你得到[0,0]次.但是你必须小心,因为这最后,列表的浅表副本.如果修改该列表的一个元素,那么它将在所有列表中被“修改”(实际上因为所有这些元素都是相同的列表).如果您希望每个列表都是不同的列表,则可以进行深层复制.

您可以使用print语句轻松查看:

test = [[0] * 9] * 9
test[0][1] = 2
print test
>>> [[0,2,0]]

注意:List是[…]在Python中更好的名称.阅读有关列表和元组的更多信息.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读