Python列表概述

Python列表是编程中最常用的数据结构之一,它是一个可变的、有序的元素集合。列表在Python中以方括号[]表示,元素之间用逗号分隔。

Python列表示例
# 创建一个简单的列表
fruits = ["apple", "banana", "cherry"]
numbers = [1, 3, 5, 7, 9]
mixed = ["Python", 3.9, True, [1, 2, 3]]

# 访问列表元素
print(fruits[0])  # 输出: apple
print(numbers[-1]) # 输出: 9

Python列表的8大核心特点

1 有序性

列表中的元素保持特定的顺序,可以通过索引(从0开始)访问元素。Python支持正向索引(0到n-1)和负向索引(-1表示最后一个元素)。

colors = ["red", "green", "blue"]

# 正向索引
print(colors[0])  # red
print(colors[1])  # green

# 负向索引
print(colors[-1]) # blue
print(colors[-2]) # green

2 可变性

列表是可变的(mutable),创建后可以修改其内容:添加元素、删除元素或更改元素值。

numbers = [10, 20, 30]

# 修改元素
numbers[1] = 25  # [10, 25, 30]

# 添加元素
numbers.append(40)  # [10, 25, 30, 40]

# 删除元素
del numbers[0]    # [25, 30, 40]

3 异构元素

列表可以包含不同类型的元素,包括数字、字符串、布尔值,甚至其他列表(嵌套列表)。

mixed_list = [
    "Python", 
    3.14159, 
    True, 
    ["nested", "list"],
    {"name": "Alice", "age": 30},
    (1, 2, 3)
]

print(mixed_list[3][0])  # 输出: nested
print(mixed_list[4]['name']) # 输出: Alice

列表操作与方法

Python提供了丰富的内置方法来操作列表:

添加元素

append() - 在末尾添加

insert() - 在指定位置插入

extend() - 合并另一个列表

删除元素

remove() - 删除指定元素

pop() - 删除并返回指定位置元素

clear() - 清空列表

查找元素

index() - 返回元素索引

count() - 统计元素出现次数

in 关键字 - 检查元素是否存在

修改列表

sort() - 永久排序

reverse() - 反转列表

copy() - 创建列表副本

列表性能特点

了解列表的操作复杂度对于编写高效代码至关重要:

操作 时间复杂度 说明
索引访问 O(1) 通过索引访问元素非常快
追加元素 O(1) 使用append()在末尾添加
插入元素 O(n) 使用insert()在开头或中间插入
删除元素 O(n) 删除开头或中间元素
成员检查 O(n) 使用in操作符检查元素是否存在
切片操作 O(k) k是切片大小

性能提示

当需要频繁在开头添加/删除元素时,考虑使用collections.deque。对于成员检查频繁的场景,考虑使用set

列表推导式

列表推导式提供了一种简洁高效的方式来创建和操作列表:

# 传统方法
squares = []
for x in range(10):
    squares.append(x**2)

# 使用列表推导式
squares = [x**2 for x in range(10)]

# 带条件的列表推导式
even_squares = [x**2 for x in range(10) if x % 2 == 0]

# 嵌套列表推导式
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flattened = [num for row in matrix for num in row]

Python列表总结

Python列表是功能强大、灵活的数据结构,具有有序性、可变性和支持异构元素等特点。掌握列表的核心操作、方法和性能特性,能够帮助您编写更高效、更简洁的Python代码。列表推导式是Python独有的强大特性,值得深入学习和掌握。