Files
python/Container/readme.md
2025-09-08 20:57:17 +08:00

6.1 KiB
Raw Permalink Blame History

明白了,你想要一个Python 内置容器list、tuple、dict、set、frozenset的方法大全,我给你整理一份详细的参考表,包括用法、说明和示例。


Python 内置容器方法大全

1 列表 list

方法 说明 示例
append(x) 在末尾添加元素 lst.append(5)
extend(iterable) 在末尾添加多个元素 lst.extend([6,7])
insert(i, x) 在索引 i 插入元素 lst.insert(1, 10)
remove(x) 删除第一个值为 x 的元素 lst.remove(5)
pop([i]) 删除并返回索引 i 的元素,默认末尾 lst.pop()
clear() 清空列表 lst.clear()
index(x[, start[, end]]) 返回 x 第一次出现的索引 lst.index(3)
count(x) 返回 x 出现次数 lst.count(2)
sort(key=None, reverse=False) 原地排序 lst.sort()
reverse() 原地反转 lst.reverse()
copy() 返回列表浅拷贝 lst2 = lst.copy()

2 元组 tuple

方法 说明 示例
count(x) 返回 x 出现次数 (1,2,2).count(2) → 2
index(x[, start[, end]]) 返回 x 第一次出现的索引 (1,2,3).index(2) → 1

注意tuple 是不可变类型,没有 append、remove、sort 等方法。


3 集合 set

方法 说明 示例
add(x) 添加元素 s.add(5)
update(*iterables) 添加多个元素 s.update([1,2], {3,4})
remove(x) 删除元素,元素不存在会报错 s.remove(3)
discard(x) 删除元素,元素不存在不会报错 s.discard(3)
pop() 随机删除并返回一个元素 s.pop()
clear() 清空集合 s.clear()
copy() 浅拷贝 s2 = s.copy()
union(*others) 并集 `s s2s.union(s2)`
intersection(*others) 交集 s & s2s.intersection(s2)
difference(*others) 差集 s - s2s.difference(s2)
symmetric_difference(other) 对称差 s ^ s2s.symmetric_difference(s2)
issubset(other) 是否为子集 s.issubset(s2)
issuperset(other) 是否为超集 s.issuperset(s2)
isdisjoint(other) 是否无交集 s.isdisjoint(s2)

4 不可变集合 frozenset

方法 说明 示例
set 类似,但没有 add, remove, discard, pop, clear, update 等可变方法。
union, intersection, difference, symmetric_difference 可用 fs1.union(fs2)

5 字典 dict

方法 说明 示例
get(key[, default]) 返回 key 对应的值key 不存在返回 default d.get('a', 0)
keys() 返回所有键 d.keys()
values() 返回所有值 d.values()
items() 返回 (key,value) 元组列表 d.items()
pop(key[, default]) 删除 key 并返回对应值 d.pop('a', 0)
popitem() 删除并返回字典中的最后一对键值 d.popitem()
update([other]) 用另一个字典更新 d.update({'a':10})
clear() 清空字典 d.clear()
copy() 浅拷贝 d2 = d.copy()
setdefault(key[, default]) 如果 key 不存在,则插入 key:default 并返回 default d.setdefault('a',0)

🔹 总结

  • 序列sequence → list, tuple

  • 集合set → set, frozenset

  • 映射mapping → dict

  • 可变 vs 不可变

    • list, set, dict → 可变
    • tuple, frozenset → 不可变

如果你愿意,我可以帮你画一张 Python 内置容器方法全景图,把所有容器、可变/不可变、方法一目了然地展示出来,非常适合学习和查阅。

你希望我帮你画吗?