Python-列表-元组-字典-集合
Python四大数据结构:列表、元组、字典、集合
一、核心特性对比
| 特性 | 列表(List) | 元组(Tuple) | 字典(Dict) | 集合(Set) |
|---|---|---|---|---|
| 定义语法 | [] 或 list() |
() 或 tuple() |
{} 或 dict() |
{} 或 set() |
| 可变性 | 可变 | 不可变 | 键不可变,值可变 | 可变(元素不可变) |
| 有序性 | 有序 | 有序 | 有序(Python 3.7+) | 无序 |
| 元素唯一性 | 允许重复 | 允许重复 | 键唯一,值可重复 | 自动去重 |
| 内存效率 | 较低(动态数组) | 最高(固定分配) | 中等(哈希表存储) | 中等(哈希表存储) |
| 典型用途 | 动态数据集合 | 固定配置、函数返回值 | 键值映射、快速查找 | 去重、集合运算 |
说明:
- 字典的键必须是不可变类型(如字符串、数字、元组)
- 集合元素必须是可哈希的(不可变类型),列表/字典不能作为集合元素
- 空集合必须用
set()创建({}会创建空字典)
二、常用函数汇总表
1. 列表(List)
| 函数 | 功能描述 | 示例 |
|---|---|---|
append(item) |
末尾添加单个元素 | lst.append(4) → [1,2,3,4] |
insert(index, item) |
指定位置插入元素 | lst.insert(1,10) → [1,10,2,3] |
pop(index=-1) |
删除并返回指定位置元素(默认末尾) | lst.pop(0) → 1(列表变为[2,3]) |
remove(item) |
删除第一个匹配的元素 | lst.remove(2) → [1,3] |
sort(key, reverse) |
原地排序(key指定排序规则) |
lst.sort(reverse=True) |
reverse() |
反转列表顺序 | lst.reverse() → [3,2,1] |
extend(iterable) |
合并可迭代对象 | lst.extend([4,5]) → [1,2,3,4,5] |
2. 字典(Dict)
| 函数 | 功能描述 | 示例 |
|---|---|---|
get(key, default) |
安全获取键的值(键不存在返回default) |
d.get("age", 20) → 20 |
items() |
返回所有键值对(可迭代) | for k,v in d.items(): |
keys() |
返回所有键 | list(d.keys()) → ["name","age"] |
values() |
返回所有值 | list(d.values()) → ["Alice",25] |
pop(key) |
删除键并返回值 | d.pop("name") → "Alice" |
update(new_dict) |
合并新字典到原字典 | d.update({"gender":"male"}) |
3. 集合(Set)
| 函数 | 功能描述 | 示例 |
|---|---|---|
add(item) |
添加元素(自动去重) | s.add(4) → {1,2,3,4} |
remove(item) |
删除指定元素(不存在报错) | s.remove(2) → {1,3} |
discard(item) |
删除元素(不存在不报错) | s.discard(5) → 无变化 |
union(set2) 或 | |
并集 | s1 | s2 → {1,2,3,4} |
intersection(set2) 或 & |
交集 | s1 & s2 → {2,3} |
difference(set2) 或 - |
差集(s1有但s2无) | s1 - s2 → {1} |
4. 元组(Tuple)
| 函数 | 功能描述 | 示例 |
|---|---|---|
count(item) |
统计元素出现次数 | t.count(1) → 2 |
index(item) |
返回元素首次出现的索引 | t.index(3) → 2 |
+ |
元组合并 | (1,2) + (3,) → (1,2,3) |
注:元组因不可变性,无增删改函数。
三、使用场景与性能对比
1. 适用场景总结
- 列表:需动态修改数据的场景
- 元组:需数据不可变的场景
- 字典:需键值映射与快速查找
- 集合:需去重或集合运算。
2. 性能关键点
- 查找速度(10万数据测试)4:
列表:0.000949s 元组:0.000480s 集合:0.000000s 字典:0.000000s
天助自助者

浙公网安备 33010602011771号