Python 列表(List)
Python列表(List)
什么是列表?
在Python中,列表(List)是一种有序可变的序列容器类型。可以存储任意类型的数据(数字、字符串、元组、列表、字典等),并通过索引获取这些数据。和字符串不同,列表是可变的,可以添加、删除、修改元素。
如何创建一个列表?
列表使用方括号 [ ] 来表示,其中各个元素用逗号隔开。例如:
# 创建一个空列表
my_list = []
# 创建一个有几个元素的列表
my_list = [1, 2, 3, 4, 5]
# 创建一个包含不同数据类型元素的列表
my_list = ['apple', 3.14, True, [1, 2, 3]]
列表元素的修改、添加和删除
修改元素
Python中列表中的元素是可变的。修改元素,可以使用列表的索引和赋值语句。例如:
my_list = [1, 2, 3, 4, 5]
my_list[0] = 10
print(my_list) # 输出结果:[10, 2, 3, 4, 5]
添加元素
添加元素有两种方式:append()和extend()。append()用于添加单个元素,而extend()用于添加多个元素。例如:
my_list = [1, 2, 3]
my_list.append(4)
print(my_list) # 输出结果:[1, 2, 3, 4]
your_list = [5, 6, 7]
my_list.extend(your_list)
print(my_list) # 输出结果:[1, 2, 3, 4, 5, 6, 7]
另外,还可以使用insert()在指定位置插入元素:
my_list = [1, 2, 3]
my_list.insert(1, 'hello')
print(my_list) # 输出结果:[1, 'hello', 2, 3]
删除元素
删除元素有多种方式,包括remove()、pop()和del()。remove()用于删除指定元素,pop()用于删除指定索引的元素,del()用于删除指定索引或切片。例如:
my_list = [1, 2, 3, 4, 5]
my_list.remove(3)
print(my_list) # 输出结果:[1, 2, 4, 5]
my_list.pop(1)
print(my_list) # 输出结果:[1, 4, 5]
del my_list[0]
print(my_list) #输出结果:[4, 5]
del my_list[1:3]
print(my_list) # 输出结果:[4]
列表操作
列表切片
Python中,切片可以用于获取部分列表。语法如下:
my_list = [1, 2, 3, 4, 5]
new_list = my_list[start:end:step]
其中,start是起始位置(包含),end是结束位置(不包含),step是步长。例如:
my_list = [1, 2, 3, 4, 5]
new_list = my_list[1:4:2]
print(new_list) #输出结果:[2, 4]
列表拼接
列表拼接使用加号运算符(+)或extend()方法。例如:
my_list = [1, 2, 3]
your_list = [4, 5, 6]
new_list = my_list + your_list
print(new_list) # 输出结果:[1, 2, 3, 4, 5, 6]
my_list.extend(your_list)
print(my_list) # 输出结果:[1, 2, 3, 4, 5, 6]
列表排序
使用sort()方法可以对列表进行排序。默认情况下,sort()方法按升序排列。
my_list = [3, 1, 4, 2]
my_list.sort()
print(my_list) # 输出结果:[1, 2, 3, 4]
如果需要按降序排列,可以将参数reverse设置为True。
my_list = [3, 1, 4, 2]
my_list.sort(reverse=True)
print(my_list) # 输出结果:[4, 3, 2, 1]
列表复制
复制列表,有两种方式:浅拷贝和深拷贝。
浅拷贝
浅拷贝使用copy()方法。浅拷贝只拷贝列表的第一层元素,对于元素本身是可变对象(如列表、字典等),只拷贝引用,不同时拷贝数据。例如:
my_list = [1, 2, [3, 4]]
new_list = my_list.copy()
my_list[2][0] = 5
print(my_list) # 输出结果:[1, 2, [5, 4]]
print(new_list) # 输出结果:[1, 2, [5, 4]]
深拷贝
深拷贝使用copy模块的deepcopy()方法。深拷贝不仅会拷贝第一层元素,还会递归拷贝所有嵌套对象。
import copy
my_list = [1, 2, [3, 4]]
new_list = copy.deepcopy(my_list)
my_list[2][0] = 5
print(my_list) # 输出结果:[1, 2, [5, 4]]
print(new_list) # 输出结果:[1, 2, [3, 4]]
总结
Python中列表是一种有序的可变容器对象,可以存储任意类型的数据,通过索引可以操作列表中的数据。列表提供了添加、删除、修改等方法,并支持切片、拼接和排序等操作。在复制列表时,需要注意浅拷贝和深拷贝的区别。掌握列表的操作方法,能够提高Python编程的效率。