Python中列表的操作(超详细版)
前言
列表(List)是Python中最核心、最常用的数据结构之一。它就像一个"万能容器",可以存放任意类型的数据,并且支持增删改查等各种操作。无论是数据处理、算法实现,还是项目开发,列表都是你离不开的工具。
本文将系统讲解Python列表的6大核心知识点,从基础定义到高级操作,一篇文章带你彻底掌握列表!
一、列表的定义
列表是由一系列按特定顺序排列的元素组成的集合,用方括号[]表示,元素之间用逗号隔开。
1.1 基本定义方式
python
# 空列表 empty_list = [] print(empty_list) # [] # 存放同类型数据 numbers = [1, 2, 3, 4, 5] fruits = ['苹果', '香蕉', '橘子'] print(fruits) # ['苹果', '香蕉', '橘子'] # 存放不同类型数据(Python列表支持) mixed = [1, 'hello', 3.14, True, None] print(mixed) # [1, 'hello', 3.14, True, None] # 嵌套列表(二维列表) matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] print(matrix) # [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
1.2 使用 list() 构造函数
python
# 从字符串转列表 s = "hello" print(list(s)) # ['h', 'e', 'l', 'l', 'o'] # 从元组转列表 t = (1, 2, 3) print(list(t)) # [1, 2, 3] # 从 range 生成列表 print(list(range(5))) # [0, 1, 2, 3, 4] print(list(range(1, 10, 2))) # [1, 3, 5, 7, 9] # 创建指定长度的列表 zeros = [0] * 5 print(zeros) # [0, 0, 0, 0, 0]
1.3 列表推导式(高级定义)
python
# 生成1-10的平方列表 squares = [x**2 for x in range(1, 11)] print(squares) # [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] # 带条件的列表推导式(只取偶数) evens = [x for x in range(1, 21) if x % 2 == 0] print(evens) # [2, 4, 6, 8, 10, 12, 14, 16, 18, 20] # 嵌套循环的列表推导式 pairs = [(x, y) for x in [1, 2] for y in ['a', 'b']] print(pairs) # [(1, 'a'), (1, 'b'), (2, 'a'), (2, 'b')]
二、列表的索引
列表中的每个元素都有对应的位置编号,从0开始正向编号,或从-1开始反向编号。
2.1 正向索引(从0开始)
python
fruits = ['苹果', '香蕉', '橘子', '西瓜', '葡萄'] # 索引: 0 1 2 3 4 print(fruits[0]) # 苹果 print(fruits[1]) # 香蕉 print(fruits[3]) # 西瓜 print(fruits[4]) # 葡萄 # 获取列表长度 print(len(fruits)) # 5 print(fruits[len(fruits) - 1]) # 葡萄(最后一个元素)
2.2 反向索引(从-1开始)
python
fruits = ['苹果', '香蕉', '橘子', '西瓜', '葡萄'] # 索引: -5 -4 -3 -2 -1 print(fruits[-1]) # 葡萄(最后一个) print(fruits[-2]) # 西瓜 print(fruits[-3]) # 橘子
2.3 索引使用注意事项
python
fruits = ['苹果', '香蕉', '橘子'] # ✅ 正确索引 print(fruits[0]) # 苹果 print(fruits[2]) # 橘子 # ❌ 索引越界错误 # print(fruits[3]) # IndexError: list index out of range # ❌ 负索引不能小于 -len(list) # print(fruits[-4]) # IndexError
三、列表的切片
切片可以从列表中截取一部分,创建新列表,语法为list[start:end:step]。
3.1 基本切片语法
python
fruits = ['苹果', '香蕉', '橘子', '西瓜', '葡萄', '草莓', '芒果'] # 语法:list[起始:结束:步长] # 包含起始位置,不包含结束位置 print(fruits[0:3]) # ['苹果', '香蕉', '橘子'](索引0-2) print(fruits[2:5]) # ['橘子', '西瓜', '葡萄'](索引2-4) print(fruits[:3]) # ['苹果', '香蕉', '橘子'](省略起始,从0开始) print(fruits[3:]) # ['西瓜', '葡萄', '草莓', '芒果'](省略结束,到末尾) print(fruits[:]) # 全部元素(复制整个列表)
3.2 步长(Step)
python
fruits = ['苹果', '香蕉', '橘子', '西瓜', '葡萄', '草莓', '芒果'] # 每隔一个取一个 print(fruits[::2]) # ['苹果', '橘子', '葡萄', '芒果'] # 从索引1开始,每隔一个取一个 print(fruits[1::2]) # ['香蕉', '西瓜', '草莓'] # 反转列表(最常用) print(fruits[::-1]) # ['芒果', '草莓', '葡萄', '西瓜', '橘子', '香蕉', '苹果']
3.3 切片的高级用法
python
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # 取前3个 print(numbers[:3]) # [0, 1, 2] # 取后3个 print(numbers[-3:]) # [7, 8, 9] # 取除了前3个的所有 print(numbers[3:]) # [3, 4, 5, 6, 7, 8, 9] # 取除了后3个的所有 print(numbers[:-3]) # [0, 1, 2, 3, 4, 5, 6] # 取中间部分 print(numbers[2:7]) # [2, 3, 4, 5, 6] # 取奇数索引的元素 print(numbers[1::2]) # [1, 3, 5, 7, 9] # 取偶数索引的元素 print(numbers[::2]) # [0, 2, 4, 6, 8] # 复制列表(两种方式) new_list1 = numbers[:] # 方式1 new_list2 = numbers.copy() # 方式2 print(new_list1 == new_list2) # True
3.4 切片 vs 直接赋值(重要)
python
# 直接赋值:两个变量指向同一个列表 a = [1, 2, 3] b = a b.append(4) print(a) # [1, 2, 3, 4](a也被修改了) # 切片复制:创建新列表 a = [1, 2, 3] b = a[:] b.append(4) print(a) # [1, 2, 3](a不受影响) print(b) # [1, 2, 3, 4]
3.5 切片赋值(替换部分元素)
python
# 使用切片替换部分元素 numbers = [1, 2, 3, 4, 5, 6] numbers[1:4] = [10, 20, 30] print(numbers) # [1, 10, 20, 30, 5, 6] # 切片替换的元素个数可以不同 numbers = [1, 2, 3, 4, 5] numbers[1:3] = [10, 20, 30, 40] print(numbers) # [1, 10, 20, 30, 40, 4, 5] # 删除切片(赋值为空列表) numbers = [1, 2, 3, 4, 5] numbers[1:4] = [] print(numbers) # [1, 5]
四、列表的遍历
遍历列表即逐个访问列表中的每个元素。
4.1 for 循环直接遍历(最常用)
python
fruits = ['苹果', '香蕉', '橘子', '西瓜'] for fruit in fruits: print(fruit) # 输出: # 苹果 # 香蕉 # 橘子 # 西瓜 # 遍历时修改元素(需要索引) numbers = [1, 2, 3, 4, 5] for i, num in enumerate(numbers): numbers[i] = num * 2 print(numbers) # [2, 4, 6, 8, 10]
4.2 通过索引遍历(使用 range)
python
fruits = ['苹果', '香蕉', '橘子', '西瓜'] for i in range(len(fruits)): print(f"索引{i}:{fruits[i]}") # 输出: # 索引0:苹果 # 索引1:香蕉 # 索引2:橘子 # 索引3:西瓜4.3 同时获取索引和元素(enumerate)
python
fruits = ['苹果', '香蕉', '橘子', '西瓜'] # 默认索引从0开始 for i, fruit in enumerate(fruits): print(f"{i}: {fruit}") # 0: 苹果 # 1: 香蕉 # 2: 橘子 # 3: 西瓜 # 指定起始索引 for i, fruit in enumerate(fruits, start=1): print(f"{i}: {fruit}") # 1: 苹果 # 2: 香蕉 # 3: 橘子 # 4: 西瓜4.4 while 循环遍历
python
fruits = ['苹果', '香蕉', '橘子', '西瓜'] i = 0 while i < len(fruits): print(fruits[i]) i += 1 # 依次输出:苹果、香蕉、橘子、西瓜
4.5 遍历嵌套列表
python
matrix = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ] # 遍历二维列表 for row in matrix: for col in row: print(col, end=' ') print() # 输出: # 1 2 3 # 4 5 6 # 7 8 9 # 使用索引遍历 for i in range(len(matrix)): for j in range(len(matrix[i])): print(f"matrix[{i}][{j}] = {matrix[i][j]}")4.6 遍历的经典场景
python
# 1. 找出所有符合条件的元素 numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] even_numbers = [] for num in numbers: if num % 2 == 0: even_numbers.append(num) print(even_numbers) # [2, 4, 6, 8, 10] # 2. 计算总和 numbers = [10, 20, 30, 40, 50] total = 0 for num in numbers: total += num print(total) # 150 # 3. 查找最大值 numbers = [23, 45, 12, 67, 34, 89] max_num = numbers[0] for num in numbers: if num > max_num: max_num = num print(max_num) # 89 # 4. 列表去重 numbers = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4] unique = [] for num in numbers: if num not in unique: unique.append(num) print(unique) # [1, 2, 3, 4]
五、列表的常用方法(超全汇总)
5.1 增加元素
| 方法 | 说明 | 示例 |
|---|---|---|
append(x) | 在末尾添加一个元素 | [1,2].append(3)→[1,2,3] |
insert(i, x) | 在指定位置插入元素 | [1,2].insert(1,3)→[1,3,2] |
extend(iterable) | 在末尾添加多个元素 | [1,2].extend([3,4])→[1,2,3,4] |
+ | 拼接两个列表 | [1,2] + [3,4]→[1,2,3,4] |
* | 重复列表 | [1,2] * 3→[1,2,1,2,1,2] |
python
# append - 追加单个元素 fruits = ['苹果', '香蕉'] fruits.append('橘子') print(fruits) # ['苹果', '香蕉', '橘子'] # insert - 在指定位置插入 fruits.insert(1, '西瓜') print(fruits) # ['苹果', '西瓜', '香蕉', '橘子'] # extend - 追加多个元素 fruits.extend(['草莓', '芒果']) print(fruits) # ['苹果', '西瓜', '香蕉', '橘子', '草莓', '芒果'] # + 拼接(创建新列表) list1 = [1, 2, 3] list2 = [4, 5, 6] list3 = list1 + list2 print(list3) # [1, 2, 3, 4, 5, 6] # * 重复 print([1, 2, 3] * 3) # [1, 2, 3, 1, 2, 3, 1, 2, 3]5.2 删除元素
| 方法 | 说明 | 示例 |
|---|---|---|
remove(x) | 删除第一个匹配的元素 | [1,2,2].remove(2)→[1,2] |
pop(i) | 删除指定位置元素并返回 | [1,2,3].pop(1)→2 |
pop() | 删除最后一个元素并返回 | [1,2,3].pop()→3 |
clear() | 清空列表 | [1,2].clear()→[] |
del | 删除元素或列表 | del list[0]或del list |
切片赋值 | 删除切片 | [1,2,3][1:2] = []→[1,3] |
python
# remove - 删除第一个匹配的元素 numbers = [1, 2, 3, 2, 4, 2] numbers.remove(2) print(numbers) # [1, 3, 2, 4, 2](只删除第一个) # numbers.remove(5) # ValueError: 5 not in list # pop - 删除并返回元素 fruits = ['苹果', '香蕉', '橘子', '西瓜'] last = fruits.pop() print(last) # 西瓜 print(fruits) # ['苹果', '香蕉', '橘子'] second = fruits.pop(1) # 删除索引1的元素 print(second) # 香蕉 print(fruits) # ['苹果', '橘子'] # clear - 清空列表 fruits.clear() print(fruits) # [] # del - 删除元素或列表 fruits = ['苹果', '香蕉', '橘子', '西瓜'] del fruits[1] # 删除索引1的元素 print(fruits) # ['苹果', '橘子', '西瓜'] del fruits[1:3] # 删除切片 print(fruits) # ['苹果'] # del fruits # 删除整个列表 # print(fruits) # NameError # 删除所有匹配的元素(循环删除) numbers = [2, 1, 2, 3, 2, 4, 2] while 2 in numbers: numbers.remove(2) print(numbers) # [1, 3, 4]
5.3 查找与统计
| 方法 | 说明 | 示例 |
|---|---|---|
index(x) | 查找元素索引,不存在报错 | [1,2,3].index(2)→1 |
count(x) | 统计元素出现次数 | [1,2,2].count(2)→2 |
in | 判断是否包含 | 2 in [1,2,3]→True |
not in | 判断是否不包含 | 4 not in [1,2,3]→True |
python
fruits = ['苹果', '香蕉', '橘子', '香蕉', '西瓜'] # index - 查找第一个匹配的索引 print(fruits.index('香蕉')) # 1 print(fruits.index('香蕉', 2)) # 3(从索引2开始找) # count - 统计出现次数 print(fruits.count('香蕉')) # 2 print(fruits.count('草莓')) # 0 # in / not in print('苹果' in fruits) # True print('草莓' in fruits) # False print('芒果' not in fruits) # True5.4 排序与反转
| 方法 | 说明 | 示例 |
|---|---|---|
sort() | 升序排序(改变原列表) | [3,1,2].sort()→[1,2,3] |
sort(reverse=True) | 降序排序(改变原列表) | [3,1,2].sort(reverse=True)→[3,2,1] |
reverse() | 反转列表(改变原列表) | [1,2,3].reverse()→[3,2,1] |
sorted() | 返回排序后的新列表 | sorted([3,1,2])→[1,2,3] |
reversed() | 返回反转的迭代器 | list(reversed([1,2,3]))→[3,2,1] |
python
# sort - 永久排序(修改原列表) numbers = [3, 1, 4, 1, 5, 9, 2] numbers.sort() print(numbers) # [1, 1, 2, 3, 4, 5, 9] # sort(reverse=True) - 降序 numbers.sort(reverse=True) print(numbers) # [9, 5, 4, 3, 2, 1, 1] # 自定义排序(根据字符串长度) words = ['Python', 'Java', 'C', 'JavaScript'] words.sort(key=len) print(words) # ['C', 'Java', 'Python', 'JavaScript'] # sorted - 临时排序(返回新列表,原列表不变) numbers = [3, 1, 4, 1, 5, 9, 2] sorted_numbers = sorted(numbers) print(sorted_numbers) # [1, 1, 2, 3, 4, 5, 9] print(numbers) # [3, 1, 4, 1, 5, 9, 2](原列表不变) # sorted(reverse=True) - 临时降序 print(sorted(numbers, reverse=True)) # [9, 5, 4, 3, 2, 1, 1] # reverse - 反转列表 fruits = ['苹果', '香蕉', '橘子'] fruits.reverse() print(fruits) # ['橘子', '香蕉', '苹果'] # 使用切片反转(创建新列表) fruits = ['苹果', '香蕉', '橘子'] reversed_fruits = fruits[::-1] print(reversed_fruits) # ['橘子', '香蕉', '苹果'] print(fruits) # ['苹果', '香蕉', '橘子']
5.5 复制列表
| 方法 | 说明 | 示例 |
|---|---|---|
copy() | 浅拷贝 | [1,2].copy()→[1,2] |
list() | 浅拷贝 | list([1,2])→[1,2] |
[:] | 浅拷贝 | [1,2][:]→[1,2] |
copy.deepcopy() | 深拷贝(需导入copy模块) | 复制嵌套列表 |
python
# 浅拷贝 - 创建新列表,但嵌套元素仍共享 original = [1, 2, [3, 4]] copy1 = original.copy() copy2 = original[:] copy3 = list(original) print(copy1) # [1, 2, [3, 4]] print(copy2) # [1, 2, [3, 4]] print(copy3) # [1, 2, [3, 4]] # 浅拷贝的问题:嵌套列表仍指向同一对象 original[2][0] = 99 print(copy1) # [1, 2, [99, 4]](copy1也被修改了) # 深拷贝 - 完全独立复制 import copy original = [1, 2, [3, 4]] deep_copy = copy.deepcopy(original) original[2][0] = 99 print(deep_copy) # [1, 2, [3, 4]](不受影响)
5.6 其他内置函数
| 函数 | 说明 | 示例 |
|---|---|---|
len() | 获取长度 | len([1,2,3])→3 |
max() | 获取最大值 | max([1,2,3])→3 |
min() | 获取最小值 | min([1,2,3])→1 |
sum() | 求和(数字列表) | sum([1,2,3])→6 |
any() | 是否有True元素 | any([0,0,1])→True |
all() | 是否所有元素为True | all([1,2,3])→True |
python
numbers = [10, 20, 30, 40, 50] print(len(numbers)) # 5 print(max(numbers)) # 50 print(min(numbers)) # 10 print(sum(numbers)) # 150 # any / all print(any([0, 0, 1])) # True(有真值) print(any([0, 0, 0])) # False print(all([1, 2, 3])) # True(全为真值) print(all([1, 0, 2])) # False(有假值)
六、列表推导式(高级用法)
列表推导式是Python中快速生成列表的优雅方式。
6.1 基本列表推导式
python
# 生成1-10的平方 squares = [x**2 for x in range(1, 11)] print(squares) # [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] # 等价于传统循环 squares = [] for x in range(1, 11): squares.append(x**2)
6.2 带条件的列表推导式
python
# 取1-20中的偶数 evens = [x for x in range(1, 21) if x % 2 == 0] print(evens) # [2, 4, 6, 8, 10, 12, 14, 16, 18, 20] # 取既能被2整除又能被3整除的数 nums = [x for x in range(1, 51) if x % 2 == 0 and x % 3 == 0] print(nums) # [6, 12, 18, 24, 30, 36, 42, 48]
6.3 嵌套列表推导式
python
# 矩阵转置 matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] transpose = [[row[i] for row in matrix] for i in range(3)] print(transpose) # [[1, 4, 7], [2, 5, 8], [3, 6, 9]] # 展开嵌套列表 nested = [[1, 2], [3, 4], [5, 6]] flatten = [x for sublist in nested for x in sublist] print(flatten) # [1, 2, 3, 4, 5, 6]
6.4 带条件表达式的列表推导式
python
# 将奇数变为"奇数",偶数变为"偶数" nums = [1, 2, 3, 4, 5, 6] result = ['奇数' if x % 2 == 1 else '偶数' for x in nums] print(result) # ['奇数', '偶数', '奇数', '偶数', '奇数', '偶数']
七、列表作为栈和队列
7.1 栈(LIFO - 后进先出)
python
# 使用 append 和 pop 实现栈 stack = [] # 压栈 stack.append(1) stack.append(2) stack.append(3) print(stack) # [1, 2, 3] # 出栈 print(stack.pop()) # 3 print(stack.pop()) # 2 print(stack) # [1]
7.2 队列(FIFO - 先进先出)
python
# 使用 append 和 pop(0) 实现队列(效率低) from collections import deque # 使用 deque 实现高效队列 queue = deque() # 入队 queue.append(1) queue.append(2) queue.append(3) print(queue) # deque([1, 2, 3]) # 出队 print(queue.popleft()) # 1 print(queue.popleft()) # 2 print(queue) # deque([3])
八、综合实战案例
8.1 学生成绩管理系统
python
students = [ {'name': '张三', 'scores': [85, 90, 78]}, {'name': '李四', 'scores': [92, 88, 95]}, {'name': '王五', 'scores': [70, 75, 80]} ] # 计算每个学生的平均分 for student in students: avg = sum(student['scores']) / len(student['scores']) print(f"{student['name']} 的平均分:{avg:.1f}") # 输出: # 张三 的平均分:84.3 # 李四 的平均分:91.7 # 王五 的平均分:75.0 # 找出最高分 all_scores = [score for student in students for score in student['scores']] print(f"最高分:{max(all_scores)}") # 958.2 列表去重(多种方法)
python
# 方法1:使用集合(顺序可能改变) numbers = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4] unique = list(set(numbers)) print(unique) # [1, 2, 3, 4](顺序不确定) # 方法2:使用字典(保持顺序,Python 3.7+) unique = list(dict.fromkeys(numbers)) print(unique) # [1, 2, 3, 4] # 方法3:列表推导式(保持顺序) unique = [] [unique.append(x) for x in numbers if x not in unique] print(unique) # [1, 2, 3, 4]
8.3 列表分组
python
# 将数字按奇偶分组 numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] even = [x for x in numbers if x % 2 == 0] odd = [x for x in numbers if x % 2 == 1] print(f"偶数:{even}") # [2, 4, 6, 8, 10] print(f"奇数:{odd}") # [1, 3, 5, 7, 9]8.4 二维列表操作(矩阵)
python
# 创建3x3单位矩阵 matrix = [[1 if i == j else 0 for j in range(3)] for i in range(3)] print(matrix) # [[1, 0, 0], [0, 1, 0], [0, 0, 1]] # 矩阵相加 A = [[1, 2], [3, 4]] B = [[5, 6], [7, 8]] C = [[A[i][j] + B[i][j] for j in range(2)] for i in range(2)] print(C) # [[6, 8], [10, 12]]
8.5 列表排序(按指定规则)
python
# 按元组第二个元素排序 pairs = [(1, 3), (4, 1), (2, 5), (3, 2)] pairs.sort(key=lambda x: x[1]) print(pairs) # [(4, 1), (3, 2), (1, 3), (2, 5)] # 按字符串长度排序 words = ['Python', 'Java', 'C', 'JavaScript', 'Go'] words.sort(key=len) print(words) # ['C', 'Go', 'Java', 'Python', 'JavaScript'] # 按字符串最后一个字母排序 words = ['apple', 'banana', 'cherry', 'date'] words.sort(key=lambda x: x[-1]) print(words) # ['banana', 'apple', 'date', 'cherry']
九、常见错误与注意事项
9.1 修改列表时遍历的错误
python
# ❌ 错误:遍历时删除元素会导致索引错乱 numbers = [1, 2, 3, 4, 5] for num in numbers: if num % 2 == 0: numbers.remove(num) print(numbers) # [1, 3, 5](勉强正确,但不可靠) # ✅ 正确:遍历副本 numbers = [1, 2, 3, 4, 5] for num in numbers[:]: # 遍历副本 if num % 2 == 0: numbers.remove(num) print(numbers) # [1, 3, 5] # ✅ 更优:使用列表推导式 numbers = [1, 2, 3, 4, 5] numbers = [num for num in numbers if num % 2 != 0] print(numbers) # [1, 3, 5]
9.2 浅拷贝 vs 深拷贝
python
# ❌ 浅拷贝:嵌套列表会被共享 original = [[1, 2], [3, 4]] copy = original[:] original[0][0] = 99 print(copy) # [[99, 2], [3, 4]](copy也被修改了) # ✅ 深拷贝:完全独立 import copy original = [[1, 2], [3, 4]] deep_copy = copy.deepcopy(original) original[0][0] = 99 print(deep_copy) # [[1, 2], [3, 4]](不受影响)
9.3 列表作为函数参数
python
# ❌ 列表作为默认参数会被共享 def add_item(item, lst=[]): lst.append(item) return lst print(add_item(1)) # [1] print(add_item(2)) # [1, 2](不是[2]!) # ✅ 使用 None 作为默认值 def add_item(item, lst=None): if lst is None: lst = [] lst.append(item) return lst print(add_item(1)) # [1] print(add_item(2)) # [2]
9.4 性能优化
python
# ❌ 频繁使用 + 拼接(每次创建新列表) result = [] for i in range(10000): result = result + [i] # 效率极低 # ✅ 使用 append result = [] for i in range(10000): result.append(i) # 效率高 # ✅ 使用列表推导式(最快) result = [i for i in range(10000)] # 最推荐
总结
本文详细介绍了Python列表的6大核心知识点:
| 知识点 | 要点 |
|---|---|
| 定义 | []、list()、列表推导式 |
| 索引 | 正向从0开始,反向从-1开始 |
| 切片 | list[start:end:step],灵活截取和复制 |
| 遍历 | for循环、enumerate、while循环 |
| 常用方法 | 增删改查、排序、反转、复制等 |
| 列表推导式 | 快速生成列表的优雅方式 |
重点掌握:
索引和切片是列表操作的基础
列表推导式是Python的特色语法
浅拷贝和深拷贝的区别
排序时
sort()和sorted()的区别遍历列表时不要直接修改原列表
希望这篇教程能帮助你全面掌握Python列表操作!如果觉得有用,欢迎点赞、收藏、评论!🚀
下一篇预告:Python中字典的操作,敬请期待!