跳到主要内容

Python 列表 copy() 方法

copy() 方法返回列表的浅拷贝。

示例

# 混合列表
prime_numbers = [2, 3, 5]

# 复制列表
numbers = prime_numbers.copy()

print('复制的列表:', numbers)

# 输出: 复制的列表: [2, 3, 5]

copy() 语法

copy() 方法的语法是:

new_list = list.copy()

copy() 参数

copy() 方法不接受任何参数。

copy() 返回值

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

示例:复制列表

# 混合列表
my_list = ['cat', 0, 6.7]

# 复制列表
new_list = my_list.copy()

print('复制的列表:', new_list)

输出

复制的列表: ['cat', 0, 6.7]

如果在上述示例中修改 new_listmy_list 不会被修改。

使用 = 复制列表

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

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

然而,以这种方式复制列表存在一个问题。如果你修改 new_listold_list 也会被修改。这是因为新列表是引用或指向同一个 old_list 对象。

old_list = [1, 2, 3]

# 使用 = 复制列表
new_list = old_list

# 向列表中添加一个元素
new_list.append('a')

print('新列表:', new_list)
print('旧列表:', old_list)

输出

旧列表: [1, 2, 3, 'a']
新列表: [1, 2, 3, 'a']

然而,如果你需要在修改新列表时保持原始列表不变,你可以使用 copy() 方法。

相关教程: Python 浅拷贝与深拷贝

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

# 使用切片语法进行浅拷贝
# 混合列表
list = ['cat', 0, 6.7]

# 使用切片复制列表
new_list = list[:]

# 向新列表中添加一个元素
new_list.append('dog')

# 打印新旧列表
print('旧列表:', list)
print('新列表:', new_list)

输出

旧列表: ['cat', 0, 6.7]
新列表: ['cat', 0, 6.7, 'dog']