{site_name}

{site_name}

🌜 搜索

Python的collections模块提供了许多有用的数据类型,这些类型不是P

Python 𝄐 0
python中的collections,python中collection,python collections.namedtuple,python中collections中的counter类,python collections.abc,python3 collections
Python的collections模块提供了许多有用的数据类型,这些类型不是Python内置类型的直接替代品,而是将标准容器类型(如列表和字典)扩展为更具功能性的变体。

以下是一些重要的Python collections 对应类型:

1. defaultdict
- 默认字典,用于在字典中查找不存在的键时返回默认值而不是抛出KeyError异常。
- 例子:

python
from collections import defaultdict
d = defaultdict(int)
d['key'] += 1
print(d['key']) # 输出1
print(d['nonexistent_key']) # 输出0


2. Counter
- 计数器,用于计算可哈希对象的出现次数。
- 例子:

python
from collections import Counter
c = Counter(['apple', 'banana', 'apple', 'cherry'])
print(c) # 输出Counter({'apple': 2, 'banana': 1, 'cherry': 1})


3. OrderedDict
- 有序字典,记住了它们添加键值对的顺序,并以相同的顺序迭代它们。
- 例子:

python
from collections import OrderedDict
d = OrderedDict()
d['foo'] = 1
d['bar'] = 2
d['baz'] = 3
print(d) # 输出OrderedDict([('foo', 1), ('bar', 2), ('baz', 3)])


4. deque
- 双端队列,支持从两端添加或删除元素。
- 例子:

python
from collections import deque
d = deque([1, 2, 3])
d.appendleft(0)
d.append(4)
print(d) # 输出deque([0, 1, 2, 3, 4])


5. namedtuple
- 命名元组,创建具有字段名称的元组。
- 例子:

python
from collections import namedtuple
Point = namedtuple('Point', ['x', 'y'])
p = Point(x=1, y=2)
print(p.x, p.y) # 输出1 2