本文共 3068 字,大约阅读时间需要 10 分钟。
列表(List)在 Python 中是一个非常重要的数据结构,用于存储和管理多个项目。它具有有序性和可变性,可容纳不同类型的元素,是 Python 中最常用的数据类型之一。列表广泛应用于数据的收集、存储和处理等场景。
[ ] 创建。可以通过方括号 [ ] 创建一个列表,元素之间使用逗号 , 分隔。以下是一些常用的创建方式:
# 创建一个包含整数的列表numbers = [1, 2, 3, 4, 5]# 创建一个包含不同数据类型的列表mixed_list = [1, "apple", 3.14, True]# 创建一个空列表empty_list = []# 使用 list() 函数创建列表list_from_range = list(range(5)) # [0, 1, 2, 3, 4]
通过索引访问列表中的元素,索引从 0 开始。支持正数和负数索引:
my_list = [10, 20, 30, 40, 50]# 正索引访问print(my_list[0]) # 10print(my_list[2]) # 30# 负索引访问print(my_list[-1]) # 50print(my_list[-3]) # 30
切片操作可以获取列表的子集,语法为 list[start:stop:step]:
start 是起始索引(包括该元素)。stop 是结束索引(不包括该元素)。step 是步长(默认为 1)。my_list = [10, 20, 30, 40, 50]# 获取从索引 1 到索引 3 之间的元素sub_list = my_list[1:3] # [20, 30]# 获取从索引 0 到结束的所有元素sub_list = my_list[:4] # [10, 20, 30, 40]# 获取从索引 2 到结束的所有元素,每隔 2 个取一个sub_list = my_list[2::2] # [30, 50]# 获取列表的反向reverse_list = my_list[::-1] # [50, 40, 30, 20, 10]
列表是可变的,可以通过索引修改元素:
my_list = [10, 20, 30, 40, 50]# 修改索引 2 处的元素my_list[2] = 100print(my_list) # [10, 20, 100, 40, 50]# 使用切片修改多个元素my_list[1:3] = [200, 300]print(my_list) # [10, 200, 300, 40, 50]
可以使用 append()、insert() 和 extend() 方法添加元素:
my_list = [10, 20, 30]# 使用 append() 添加元素my_list.append(40)print(my_list) # [10, 20, 30, 40]# 使用 insert() 在指定位置添加元素my_list.insert(1, 15)print(my_list) # [10, 15, 20, 30, 40]# 使用 extend() 将另一个列表添加到当前列表my_list.extend([50, 60])print(my_list) # [10, 15, 20, 30, 40, 50, 60]
可以通过 remove()、pop()、del 语句和 clear() 方法删除元素:
my_list = [10, 20, 30, 40, 50]# 删除第一个匹配的元素my_list.remove(30)print(my_list) # [10, 20, 40, 50]# 删除并返回指定索引的元素popped_element = my_list.pop(2)print(popped_element) # 40print(my_list) # [10, 20, 50]# 使用 del 删除指定索引的元素del my_list[1]print(my_list) # [10, 50]# 清空列表my_list.clear()print(my_list) # []
长度:使用 len() 函数获取列表长度:
my_list = [10, 20, 30]print(len(my_list)) # 3
检查元素是否存在:使用 in 运算符:
my_list = [10, 20, 30]print(20 in my_list) # Trueprint(40 in my_list) # False
连接列表:使用 + 运算符:
list1 = [1, 2, 3]list2 = [4, 5, 6]combined = list1 + list2print(combined) # [1, 2, 3, 4, 5, 6]
重复列表:使用 * 运算符:
my_list = [1, 2]repeated_list = my_list * 3print(repeated_list) # [1, 2, 1, 2, 1, 2]
排序:使用 sort() 方法或 sorted() 函数:
my_list = [3, 1, 4, 1, 5, 9, 2, 6]# 使用 sort() 方法原地排序my_list.sort()print(my_list) # [1, 1, 2, 3, 4, 5, 6, 9]# 使用 sorted() 返回排序后的新列表new_list = sorted(my_list, reverse=True)print(new_list) # [9, 6, 5, 4, 3, 2, 1, 1]
列表可以包含其他列表,形成嵌套结构。可以通过索引访问嵌套列表中的元素:
nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]print(nested_list[0]) # [1, 2, 3]print(nested_list[1][2]) # 6
列表推导式是一种简洁的创建列表的方式,支持条件过滤:
# 创建一个包含 1 到 10 的平方的列表squares = [x**2 for x in range(1, 11)]print(squares) # [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]# 过滤出偶数的平方even_squares = [x**2 for x in range(1, 11) if x % 2 == 0]print(even_squares) # [4, 16, 36, 64, 100]
转载地址:http://mcofk.baihongyu.com/