2024-04-23 15:36:55 发布
网友
Possible Duplicate:Python List Index
result=[range(3)]*2 for i in range(len(result)): result[i][2]=4*i print result
我希望[[0, 1, 0], [0, 1, 4]]
[[0, 1, 0], [0, 1, 4]]
为什么我会得到[[0, 1, 4], [0, 1, 4]]
[[0, 1, 4], [0, 1, 4]]
谢谢你!你知道吗
含义:
第一次: 结果[0][2]=4*0
第二次: 结果[1][2]=4*1
结果是[[0,1,4],[0,1,4]]
这就是我们一步一步做的。你知道吗
如果您在迭代中添加一个“break”,您会看到结果是[[0,1,0],[0,1,0]]
“结果”列表通过引用工作。当它被调用时,它指向同一个对象。你知道吗
当您执行[range(3)] * 2时,它会生成一个包含两个对的引用的列表,其中包含相同的列表,因此修改result[0]和result[1]会同时修改这两个列表。你知道吗
[range(3)] * 2
result[0]
result[1]
使用[range(3) for i in range(2)]创建一个包含range(3)两个不同结果的列表。你知道吗
[range(3) for i in range(2)]
range(3)
含义:
第一次: 结果[0][2]=4*0
第二次: 结果[1][2]=4*1
结果是[[0,1,4],[0,1,4]]
这就是我们一步一步做的。你知道吗
如果您在迭代中添加一个“break”,您会看到结果是[[0,1,0],[0,1,0]]
“结果”列表通过引用工作。当它被调用时,它指向同一个对象。你知道吗
当您执行
[range(3)] * 2
时,它会生成一个包含两个对的引用的列表,其中包含相同的列表,因此修改result[0]
和result[1]
会同时修改这两个列表。你知道吗使用
[range(3) for i in range(2)]
创建一个包含range(3)
两个不同结果的列表。你知道吗相关问题 更多 >
编程相关推荐