Container
This commit is contained in:
		@@ -0,0 +1,97 @@
 | 
			
		||||
明白了,你想要一个**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 内置容器方法全景图**,把所有容器、可变/不可变、方法一目了然地展示出来,非常适合学习和查阅。
 | 
			
		||||
 | 
			
		||||
你希望我帮你画吗?
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user