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  
posted @ 2025-07-13 09:01  似鬼年华  阅读(29)  评论(0)    收藏  举报