列表是Python中最基本、最常用的数据结构之一,它是一个有序的可变集合,可以包含不同类型的元素。
基本特性
- 有序集合:元素按插入顺序存储
- 可变类型:创建后可以修改内容
- 可包含任意类型:同一个列表可以包含数字、字符串、其他列表等
- 用方括号表示:
[]
创建列表
python
empty_list = [] # 空列表
numbers = [1, 2, 3, 4, 5] # 数字列表
mixed = [1, "hello", 3.14, True] # 混合类型列表
nested = [[1, 2], [3, 4]] # 嵌套列表常用操作
访问元素
python
my_list = ['a', 'b', 'c', 'd', 'e']
print(my_list[0]) # 'a' - 正向索引从0开始
print(my_list[-1]) # 'e' - 负索引表示从末尾开始切片操作
python
print(my_list[1:3]) # ['b', 'c'] - 获取索引1到3(不含)的元素
print(my_list[:3]) # ['a', 'b', 'c'] - 从开始到索引3
print(my_list[2:]) # ['c', 'd', 'e'] - 从索引2到末尾
print(my_list[::2]) # ['a', 'c', 'e'] - 步长为2修改列表
python
my_list[0] = 'z' # 修改元素
my_list.append('f') # 添加元素到末尾
my_list.insert(1, 'x') # 在索引1处插入'x'
my_list.extend([1, 2, 3]) # 扩展列表删除元素
python
del my_list[0] # 删除索引0的元素
my_list.remove('b') # 删除第一个出现的'b'
popped = my_list.pop() # 移除并返回最后一个元素
popped = my_list.pop(1) # 移除并返回索引1的元素其他操作
python
length = len(my_list) # 获取长度
if 'a' in my_list: # 检查元素是否存在
print("Found")
my_list.index('c') # 返回'c'的索引
my_list.count('a') # 统计'a'出现的次数
my_list.sort() # 排序(原地修改)
sorted_list = sorted(my_list) # 返回新排序列表
my_list.reverse() # 反转列表列表推导式
简洁创建列表的方式:
python
squares = [x**2 for x in range(10)] # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
evens = [x for x in range(10) if x % 2 == 0] # [0, 2, 4, 6, 8]性能注意事项
- 列表在开头插入/删除元素较慢(O(n)复杂度)
- 在末尾添加/删除元素很快(O(1)复杂度)
- 查找元素是否在列表中需要遍历(O(n)复杂度)
如果需要频繁在开头插入/删除,考虑使用collections.deque;如果需要频繁查找成员,考虑使用集合(set)。
















