一、Python列表概述
列表(List)是Python中最基础且强大的数据结构之一,它是一种有序、可变的元素集合。列表可以存储任意类型的对象,包括数字、字符串、甚至其他列表,是Python编程中使用频率最高的容器类型。
1.1 列表核心特性
特性 | 说明 | 示例 |
---|---|---|
有序性 | 元素保持插入顺序 | [1,2] != [2,1] |
可变性 | 创建后可修改内容 | lst[0] = 100 |
异构性 | 可包含不同类型 | [1, 'a', True] |
动态性 | 大小自动调整 | 自动扩容/缩容 |
可迭代 | 支持for循环遍历 | for x in lst: |
二、列表创建方式对比
2.1 各种创建方法对比
创建方式 | 语法 | 适用场景 | 特点 |
---|---|---|---|
字面量 | [] |
快速创建已知元素列表 | 最简洁直观 |
list()构造函数 | list() |
转换其他可迭代对象 | 支持任何可迭代对象 |
列表推导式 | [x for x in iterable] |
基于现有序列生成新列表 | 简洁高效,可带条件 |
乘法运算 | [0]*n |
创建重复元素的列表 | 注意引用问题 |
range转换 | list(range(n)) |
创建数字序列 | 生成连续数字 |
代码示例:
# 不同创建方式示例
empty = [] # 空列表
chars = list("hello") # ['h','e','l','l','o']
squares = [x**2 for x in range(5)] # [0,1,4,9,16]
zeros = [0] * 10 # [0,0,...,0]
numbers = list(range(1,6)) # [1,2,3,4,5]
三、列表元素操作详解
3.1 增删改查操作对比
操作类型 | 方法 | 时间复杂度 | 说明 |
---|---|---|---|
增加 | append(x) | O(1) | 尾部添加单个元素 |
extend(iterable) | O(k) | 尾部扩展多个元素 | |
insert(i,x) | O(n) | 指定位置插入元素 | |
删除 | remove(x) | O(n) | 删除首个匹配元素 |
pop([i]) | O(1)/O(n) | 删除并返回指定位置元素 | |
clear() | O(1) | 清空列表 | |
修改 | 索引赋值 | O(1) | lst[0] = new_value |
切片赋值 | O(k+n) | lst[1:3] = [x,y] | |
查询 | index(x) | O(n) | 返回元素索引 |
count(x) | O(n) | 统计元素出现次数 | |
in操作符 | O(n) | 检查元素是否存在 |
代码示例:
# 增加元素
lst