📜  Python list copy()

📅  最后修改于: 2020-09-20 13:35:43             🧑  作者: Mango

copy()方法返回列表的浅表副本。

可以使用= 运算符复制列表。例如,

old_list = [1, 2, 3]
​new_list = old_list

以这种方式复制列表的问题在于,如果您修改new_listold_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()方法没有任何参数。

从copy()返回值

copy()方法返回一个新列表。它不会修改原始列表。

示例1:复制列表

# 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

示例2:使用切片语法的复制列表

# 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']