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中更好的名称.阅读有关列表和元组的更多信息. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |