📅  最后修改于: 2020-09-20 13:35:43             🧑  作者: Mango
可以使用=
运算符复制列表。例如,
old_list = [1, 2, 3]
new_list = old_list
以这种方式复制列表的问题在于,如果您修改new_list
, old_list
也将被修改。
old_list = [1, 2, 3]
new_list = old_list
# add an element to list
new_list.append('a')
print('New List:', new_list)
print('Old List:', old_list)
输出
Old List: [1, 2, 3, 'a']
New List: [1, 2, 3, 'a']
但是,如果在修改新列表时需要原始列表保持不变,则可以使用copy()
方法。
相关教程: Python浅拷贝与深拷贝
copy()
方法的语法为:
new_list = list.copy()
copy()
方法没有任何参数。
copy()
方法返回一个新列表。它不会修改原始列表。
# mixed list
my_list = ['cat', 0, 6.7]
# copying a list
new_list = my_list.copy()
print('Copied List:', new_list)
输出
Copied List: ['cat', 0, 6.7]
如果您在以上示例中修改了new_list
,则不会修改my_list
。
# shallow copy using the slicing syntax
# mixed list
list = ['cat', 0, 6.7]
# copying a list using slicing
new_list = list[:]
# Adding an element to the new list
new_list.append('dog')
# Printing new and old list
print('Old List:', list)
print('New List:', new_list)
输出
Old List: ['cat', 0, 6.7]
New List: ['cat', 0, 6.7, 'dog']