明白了,你想要一个**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 | s2`或`s.union(s2)\` | | `intersection(*others)` | 交集 | `s & s2` 或 `s.intersection(s2)` | | | `difference(*others)` | 差集 | `s - s2` 或 `s.difference(s2)` | | | `symmetric_difference(other)` | 对称差 | `s ^ s2` 或 `s.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 内置容器方法全景图**,把所有容器、可变/不可变、方法一目了然地展示出来,非常适合学习和查阅。 你希望我帮你画吗?