Python列表构造函数使用对另一个列表的引用

时间:2016-02-04 01:11:29

标签: python list constructor reference

我将节点[0] [2]指定为节点[1],稍后指定在修改后的节点[1]上,但节点[0] [2]在打印输出中仍为[]。如何在构造节点[0]中传递节点[1]的引用?

node=[[] for i in range(5)]
node[0]=['d', 'Test Market', node[1], "Don't test market", node[2]]
node[1]=['e', 'Local success', 0.6, node[3], 'Local Failure', 0.4, node[4]]
node[2]=['t', 23]
node[3]=['t', 45]
node[4]=['t', 12]
print node

[['d', 'Test Market', [], "Don't test market", []], ['e', 'Local success', 0.6, [], 'Local Failure', 0.4, []], ['t', 23], ['t', 45], ['t', 12]]

````

1 个答案:

答案 0 :(得分:3)

尝试

node[2][:] = ['t',23]

原因是

node[2] = [1,2,...]

会覆盖node[2]

的值

,而

node[2][:] = [1,2,...]

填充节点[2]处的现有数组(过度简化但是meh)

这可以帮助您直观地了解流程Visualization