>>>abcd = [["a","b","c","d"],[1,2,3,4]]
>>>testlist = []
然后
>>>testlist.extend(abcd)
或者如果我使用:
>>>for item in abcd: testlist.append(item)
调用测试列表的结果是相同的,这完全可以:
>>>testlist [['a', 'b', 'c', 'd'], [1, 2, 3, 4]]
但是当我使用'testlist'做某事时,更改也会出现在'abcd'中
>>>testlist[0].append("anything") >>>testlist [['a', 'b', 'c', 'd', 'anything'], [1, 2, 3, 4]] >>>abcd [['a', 'b', 'c', 'd', 'anything'], [1, 2, 3, 4]]
这让我发疯。如何在不更改原始列表且不每次需要复制某些数据的情况下都进行复制。谢谢。
例如:
import copy
testlist = copy.deepcopy(abcd)
或更简单:
testlist = abcd[:]