我有一个关于在python中删除多维列表中的依赖关系的问题
目前,我有一个(简化的)代码片段来自我更大的脚本:
mylist = [ 1,2,3 ]
listreplaced = mylist
listreplaced[0]="test"
print mylist
mylist = [ 1,2,3 ]
listreplaced = list(mylist)
listreplaced[0]="test"
print mylist
#Here it gets tricky
mylist = [ [ 1,2,3 ] ]
listreplaced = list(mylist)
listreplaced[0][0] = "test"
print mylist
mylist = [ [ 1,2,3 ] ]
listreplaced = list(mylist[0])
listreplaced[0] = "test"
print mylist
输出:
[['test', 2, 3]
[1, 2, 3]
[['test', 2, 3]]
[[1, 2, 3]]
如您所见,第三个示例还替换了多维列表中的第一个值。我想做的是:不管列表有多少个维度,我想要一个函数使它独立于它所基于的列表。代码应该是这样的:
mylist = [ [ 1,2,3 ] ]
listreplaced = makeIndependentList(mylist)
listreplaced[0][0] = "test"
print mylist
结果应该是[[1, 2, 3]]
,而不是[['test', 2, 3]]
。
有人对如何编写这样的函数有什么想法吗?不管列表的维度有多少,它都应该工作,所以如果我有一个列表[ [ [ [ [ [ 1,2,3 ] ] ] ] ] ]
,它仍然应该独立于所有级别
提前谢谢
杰夫
你只要使用复制模块。。。这就是为什么
相关问题 更多 >
编程相关推荐