如何更改一个列表而不更改另一个列表?

时间:2015-02-20 02:57:47

标签: python

这是我的代码:

 new_final_array=[x for x in new_array]
    for a in range(len(array)):
        for d in range(2):
            for l in range(len(new_array)):
                if new_array[l][d]==array[a][1]:
                    print l,d
                    new_final_array[l][d]=array[a][0]

我基于list2(new_array)创建了list1(new_final_array),如果我在list1上更改了一个元素,它也会在list2上更改。我怎样才能使它们独立?

2 个答案:

答案 0 :(得分:3)

更深一层复制。

new_final_array=[x[:] for x in new_array]

答案 1 :(得分:3)

我不确定我是否理解,但也许copy.deepcopy会有所帮助。

import copy
new_list = copy.deepcopy(old_list)

请参阅documentation