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,3,4] |
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)
#创建方式1
zd={"name":" ","age": }
#创建方式2
zd2=dict(name=" ",age= )
| 函数 |
功能描述 |
示例 |
get(key,default) |
安全获取键的值(键不存在返回None) |
d.get("age",20)→20 |
items() |
返回所有键值对(可迭代) |
for k,v in d.items(): |
keys() |
返回所有键 |
list(d.keys())→["name","age"] |
values() |
返回所有值 |
list(d.values())→[" ", ] |
pop(key) |
删除键并返回值 |
d.pop("name")→" " |
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.适用场景总结
- 列表:需动态修改数据的场景
- 元组:需数据不可变的场景
- 字典:需键值映射与快速查找
- 集合:需去重或集合运算。