Python 列表 copy() 使用方法及示例
copy()方法返回列表的浅表副本。
列表可以被复制使用=运算符。例如:old_list = [1, 2, 3]
new_list = old_list
以这种方式复制列表的问题是,如果您修改new_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()方法。这称为浅拷贝。
copy()方法的语法为:new_list = list.copy()
copy()参数
copy()方法没有任何参数。
copy()返回值
copy()函数返回一个列表。它不会修改原始列表。
示例1:复制列表
示例# 混合列表
list = ['猫', 0, 6.7]
# 复制一个列表
new_list = list.copy()
# 将元素添加到新列表
new_list.append('狗')
# 打印新的和旧的列表
print('旧列表: ', list)
print('新列表: ', new_list)
运行该程序时,输出为:旧列表: ['猫', 0, 6.7]
新列表: ['猫', 0, 6.7, '狗']
您可以看到,即使修改了新列表,旧列表也保持不变。
您还可以使用切片实现以下相同的结果:
示例2:使用切片的浅列表复制
示例# 混合列表
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']