Python-列表元素的添加

1)使用+运算符

例子:

List=[1,2,3,4]
List=List+[5]
print(List)

结果:

[1, 2, 3, 4, 5]

分析:

使用+运算符能够实现将元素添加到列表中的功能,从严格意义上讲,这并不是真的为列表添加元素,而是创建了一个新列表,将原列表中的元素和新元素一次复制到新列表的内存空间。使用该方法涉及到大量的数据移动,如果涉及大量元素添加时最好不用这个方法。(Python采用是是基于值的自动内存管理方式,当为对象修改值时,并不是真的直接修改了量的值,而是使对象指向一个存储新值的内存地址,如果没有其他对象指向原来的值,存储原来的值的内存空间会被自动回收,在Python中,所有类型的变量都是如此)

(2)使用append()方法

例子:

List=[1,2,3,4]
List.append(5)
print(List)

结果:

[1, 2, 3, 4, 5]

分析:

原地修改列表,是真正意义上的在列表尾部添加元素,不需要移动元素所以速度快,推荐使用这种方法。

(3)使用extend()方法

例子:

List=[1,2,3,4]
List.extend([5,6,7])
print(List)

结果:

[1, 2, 3, 4, 5, 6, 7]

分析:

使用extend()方法可以将另一个迭代对象的所有元素添加到该列表的尾部。

 

(4)使用insert()方法

例子:

List=[1,2,3,4]
List.insert(1,5)
print(List)

结果:

[1, 5, 2, 3, 4]

分析:

使用insert()方法可以将元素插入到列表中指定的位置。因为Python的自动内存管理功能,insert()函数会涉及到插入位置之后所有元素的移动,如果移动的元素很多,会很大的影响处理速度,因此,应尽量避免在列表靠中间的位置插入和删除元素。

(5)使用*扩展列表

例子:

List=[1,2,3,4]
List*=3
print(List)

结果:

[1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]

分析:

该操作实际上是创建了一个新的列表,而不是真的扩展列表。需要注意,如果列表中包含列表,使用该方法时,并不会创建元素的复制,而是创建了已有对象的引用,如下列的例子。

例子:

List=[[1,2],['a','b']]
List*=3
print(List)
List[0][1]=3
List[1].append('c')
print(List)

结果:

[[1, 2], ['a', 'b'], [1, 2], ['a', 'b'], [1, 2], ['a', 'b']]

[[1, 3], ['a', 'b', 'c'], [1, 3], ['a', 'b', 'c'], [1, 3], ['a', 'b', 'c']]

猜你喜欢

转载自blog.csdn.net/qq_39514033/article/details/80806772