本文共 4172 字,大约阅读时间需要 13 分钟。
在 Python 中,列表是一种非常强大的数据结构,它是一种有序的可变集合,能够存储不同类型的元素。列表的灵活性和可扩展性使其成为 Python 编程中的核心数据结构之一。
可以通过方括号直接创建列表。例如:
my_list = [1, 2, 3, "Hello", True]
列表中的元素用逗号分隔,可以包含字符串、数字、布尔值、列表、字典等不同类型的元素。
list() 函数也可以将其他可迭代对象转换为列表。例如:
my_list = list("Hello") # 结果为 ['H', 'e', 'l', 'l', 'o'] 通过索引可以访问列表中的元素。索引从 0 开始。
my_list = [1, 2, 3, "Hello", True]print(my_list[0]) # 输出:1
可以使用 index() 方法查找某个值的第一个匹配项的索引位置。
my_list = [1, 2, 3, 2, 4]index = my_list.index(2) # index 是 1,因为 2 第一次出现在索引 1 的位置
可以使用 count() 方法查找某个值出现的次数。
my_list = [1, 2, 3, 2, 2, 4]count = my_list.count(2) # count 是 3,因为 2 出现了 3 次
可以使用 len() 函数查找列表的长度。
lst = [1, 2, 3, 4, 5]print(len(lst)) # 输出:5
切片可以获取列表中的一部分元素,并返回一个新列表。
my_list = [1, 2, 3, "Hello", True]print(my_list[1:4]) # 输出:[2, 3, 'Hello']
可以使用 max() 和 min() 函数查找列表中的最大值和最小值。
numbers = [4, 2, 9, 7, 5, 1]max_num = max(numbers) # 输出:9min_num = min(numbers) # 输出:1
可以使用 append() 方法在列表末尾添加元素。
my_list = []my_list.append(1)my_list.append(2)my_list.append(3)print(my_list) # 输出:[1, 2, 3]
可以使用 extend() 方法将一个可迭代对象中的所有元素添加到列表末尾。
my_list = [1, 2, 3]other_list = [4, 5, 6]my_list.extend(other_list)print(my_list) # 输出:[1, 2, 3, 4, 5, 6]
可以使用 insert() 方法在指定位置插入元素。
my_list = [1, 2, 3, 5]my_list.insert(3, 4)print(my_list) # 输出:[1, 2, 3, 4, 5]
可以使用 + 运算符将两个列表拼接起来。
list1 = [1, 2, 3]list2 = [4, 5, 6]result = list1 + list2print(result) # 输出:[1, 2, 3, 4, 5, 6]
可以通过索引赋值修改列表中的元素。
my_list = [1, 2, 3, 4, 5]my_list[2] = 10print(my_list) # 输出:[1, 2, 10, 4, 5]
可以使用切片赋值替换列表中的一部分元素。
my_list = [1, 2, 3, 4, 5]my_list[1:3] = [10, 20]print(my_list) # 输出:[1, 10, 20, 4, 5]
可以使用 sort() 方法对列表进行排序。
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]my_list.sort() # 默认按升序排序print(my_list) # 输出:[1, 1, 2, 3, 3, 4, 5, 5, 6, 9]
可以使用 reverse() 方法反转列表的顺序。
my_list = [1, 2, 3, 4, 5]my_list.reverse()print(my_list) # 输出:[5, 4, 3, 2, 1]
可以使用 remove() 方法移除第一个匹配到的元素。
my_list = [1, 2, 3, 4, 5]my_list.remove(3)print(my_list) # 输出:[1, 2, 4, 5]
可以使用 pop() 方法移除并返回指定位置的元素。
my_list = [1, 2, 3, 4, 5]removed_element = my_list.pop() # 移除并返回最后一个元素print(removed_element) # 输出:5print(my_list) # 输出:[1, 2, 3, 4]
可以使用 del 语句删除列表中的元素。
my_list = [1, 2, 3, 4, 5]del my_list[1] # 删除索引为 1 的元素print(my_list) # 输出:[1, 3, 4, 5]del my_list[1:3] # 删除索引 1 到 2 的元素print(my_list) # 输出:[1, 5]
列表可以包含其他列表作为元素,形成嵌套结构。
nested_list = [1, 2, [3, 4, 5], 6, [7, [8, 9]]]print(nested_list[2]) # 输出:[3, 4, 5]print(nested_list[2][1]) # 输出:4print(nested_list[4][1][0]) # 输出:8
列表推导式是一种简洁的语法结构,用于生成新列表。
squares = [x**2 for x in range(10) if x % 2 != 0]print(squares) # 输出:[1, 9, 25, 49, 81]
列表非常适合存储和管理有序的数据项。
scores = []scores.append(90)scores.append(85)scores.append(78)scores.append(92)print(scores) # 输出:[90, 85, 78, 92]scores[1] = 88print(scores) # 输出:[90, 88, 78, 92]scores.remove(78)print(scores) # 输出:[90, 88, 92]scores.sort()print(scores) # 输出:[88, 90, 92]
列表可以模拟栈和队列的行为。
# 栈示例stack = []stack.append(1)stack.append(2)stack.append(3)print(stack.pop()) # 输出:3print(stack.pop()) # 输出:2print(stack.pop()) # 输出:1# 队列示例from collections import dequequeue = deque()queue.append(1)queue.append(2)print(queue.popleft()) # 输出:1print(queue.popleft()) # 输出:2
列表在排序、搜索等算法中的应用非常广泛。
# 帮助排序的算法def selection_sort(nums): for i in range(len(nums)): min_val = nums[i] min_index = i for j in range(i, len(nums)): if nums[j] < min_val: min_val = nums[j] min_index = j nums[i], nums[min_index] = nums[min_index], nums[i] return numsnum_list = [3, 1, 4, 2]selection_sort(num_list)print(num_list) # 输出:[1, 2, 3, 4]
列表是 Python 中最强大的数据结构之一,其灵活性和功能使其在数据存储、管理和操作中占据核心地位。
转载地址:http://mxofk.baihongyu.com/