Python 如何克隆或复制列表

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()方法来克隆一个列表。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程