如何在Python中克隆或复制列表?
Python中的列表是一种序列数据类型,用于存储各种类型的数据。列表通过将每个数据元素放在方括号[]内创建,这些元素用逗号分隔。
在Python中,赋值运算符不会创建新的对象,而是为已存在的对象赋予另一个名称。这可以使用id()函数验证。
>>> L1 = [1,2,3,4] >>> L2 = L1 >>> id(L1) 185117137928 >>> id(L2) 185117137928
在Python中有多种克隆/复制列表的方法。在本文中,我们将讨论其中一些方法。
使用赋值运算符
克隆列表最简单的方法是将旧列表对象赋值给新对象。这里我们需要使用赋值运算符“=”。
语法
Old_list = new_list
示例
赋值运算符不会创建新的列表对象,而是为已存在的对象赋予另一个名称。正如我们在上面的示例中看到的,两个对象的ID相同,这已通过id()函数验证。
如果我们对任何一个列表进行更改,另一个列表也会发生更改,因此如果我们想保持原始列表不变,可以使用以下方法。
l1 = [1,2,3,4]
l2 = l1
print("Original List:", l1)
print("After Cloning:", l2)
print("ID of Original list", id(l1))
print("ID of copied list", id(l2))
输出
Original List: [1, 2, 3, 4] After Cloning: [1, 2, 3, 4] ID of Original list 140565795507408 ID of copied list 140565795507408
使用列表切片技术
Python中的切片技术用于访问列表中的一系列项目。此技术也可用于克隆列表,在这种情况下,我们需要修改列表并保留原始列表的副本。
语法
list_obj[start:stop:step]
示例
从上面的例子可以证明,列表的切片技术也可以用于克隆列表。
l1 = [1,2,3,4]
l2= l1
print("Original List:", l1)
print("After Cloning:", l2)
print("ID of Original list", id(l1))
print("ID of copied list", id(l2))
l2.append(10)
print('Original list',l1)
print('Copied and updated list',l2)
输出
Original List: [1, 2, 3, 4] After Cloning: [1, 2, 3, 4] ID of Original list 140565661890112 ID of copied list 140565795507408 Original list [1, 2, 3, 4] Copied and updated list [1, 2, 3, 4, 10]
使用copy()方法
copy()是Python列表方法,用于获取列表的浅拷贝。这意味着如果我们对新列表进行任何修改,这些更改不会反映到原始列表上。
语法
new_list = list.copy()
示例
list.copy()方法也成功克隆了一个列表。克隆的列表对象“l2”的ID为140565662101664。
l1 = [1,2,3,4]
l2 = l1.copy()
print("Original List:", l1)
print("After Cloning:", l2)
print("ID of Original list", id(l1))
print("ID of copied list", id(l2))
l2.append(10)
print('Original list',l1)
print('Copied and updated list',l2)
输出
Original List: [1, 2, 3, 4] After Cloning: [1, 2, 3, 4] ID of Original list 140565661966976 ID of copied list 140565662101664 Original list [1, 2, 3, 4] Copied and updated list [1, 2, 3, 4, 10]
使用list()方法
list()方法也被认为是克隆列表最简单的方法。此函数创建一个新的列表对象。让我们举个例子,看看list()方法如何克隆Python列表。
示例
l1 = [1,2,3,4]
# clone a list
l2 = list(l1)
print("Original List:", l1)
print("After Cloning:", l2)
print("ID of Original list", id(l1))
print("ID of copied list", id(l2))
l2.append(10)
print('Original list',l1)
print('Copied and updated list',l2)
输出
Original List: [1, 2, 3, 4] After Cloning: [1, 2, 3, 4] ID of Original list 140565661915808 ID of copied list 140565661713424 Original list [1, 2, 3, 4] Copied and updated list [1, 2, 3, 4, 10]
这些只是一些克隆Python列表的不同方法。我们还可以使用列表推导式、extend()和append()方法来克隆列表。
广告
数据结构
网络
关系数据库管理系统(RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP