1. 列表基础:Python程序员的第一把瑞士军刀
列表(List)是Python中最基础也最强大的数据结构之一。作为可变序列类型,它就像程序员的瑞士军刀,能容纳各种数据类型,随时增删改查。我刚开始学Python时,经常把列表和数组混为一谈,直到踩过几次坑才明白:Python列表远比传统数组灵活得多。
创建列表的几种常规方式:
python复制# 直接初始化
fruits = ['apple', 'banana', 'orange']
# 通过构造函数
numbers = list(range(1, 6))
# 列表推导式(后面会详解)
squares = [x**2 for x in numbers]
注意:列表可以包含不同类型的元素,比如
mixed = [1, 'a', True, 3.14]完全合法,但这通常不是好习惯,会导致后续处理麻烦。
列表的索引从0开始,支持负数索引(-1表示最后一个元素)。切片操作list[start:end:step]是必须掌握的技巧:
python复制nums = [0, 1, 2, 3, 4, 5, 6]
print(nums[1:5]) # [1, 2, 3, 4]
print(nums[::2]) # [0, 2, 4, 6]
print(nums[::-1]) # 反转列表
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 列表操作:从基础到高阶的十八般武艺
2.1 增删改查基本功
添加元素有三种主要方式:
append(x):在末尾添加单个元素(时间复杂度O(1))extend(iterable):合并另一个可迭代对象(比+=更推荐)insert(i, x):在指定位置插入(慎用,时间复杂度O(n))
python复制colors = ['red', 'blue']
colors.append('green') # ['red', 'blue', 'green']
colors.extend(['yellow', 'purple']) # 合并新列表
colors.insert(1, 'orange') # 在索引1处插入
删除元素的常见方法:
remove(x):删除第一个匹配项pop([i]):删除并返回指定位置元素(默认最后一个)del语句:按索引或切片删除clear():清空列表
python复制colors.remove('blue') # 删除'blue'
last = colors.pop() # 删除并返回'purple'
del colors[1:3] # 切片删除
避坑指南:循环中修改列表是大忌!需要过滤元素时,应该创建新列表或倒序处理:
python复制# 错误示范 for item in lst: if condition(item): lst.remove(item) # 会导致跳过元素 # 正确做法 new_lst = [x for x in lst if not condition(x)]
2.2 排序与查找的艺术
列表排序有两种方式:
sort(key=None, reverse=False):原地排序sorted(iterable, key=None, reverse=False):返回新列表
python复制nums = [3, 1, 4, 2]
nums.sort()
