多维列表及其依赖关系

2024-09-29 22:18:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个关于在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 ] ] ] ] ] ],它仍然应该独立于所有级别

提前谢谢

杰夫


Tags: 函数代码test脚本示例列表here关系

热门问题