admin 管理员组文章数量: 887021
2023年12月24日发(作者:update set where in)
collections用法
collections 是 Python 中一个非常实用的模块,集成了很多有用的数据结构和算法。它包含了许多实用的容器类型,例如字典、列表、堆栈等等。在本篇文章中,我们将深入探讨 collections 的用法。
```
import collections
```
接下来,我们将依次介绍 collections 提供的一些数据结构和算法。
1. Counter
Counter 是一个简单的统计器。它可以用于计算一个序列中元素的出现次数。
示例代码:
a = [1, 2, 3, 4, 5, 1, 2, 3, 1, 2, 1]
b = Counter(a)
print(b)
```
输出结果:
2. defaultdict
defaultdict 是一个字典,它可以自动为不存在的键创建一个默认值。这个默认值可以是任何类型的数据。
a = defaultdict(int)
a[1] += 1
a[2] += 1
3. OrderedDict
OrderedDict 是一个有序字典,它可以根据插入顺序自动排序所有的键值对。
```
OrderedDict([('a', 1), ('b', 2), ('c', 3)])
```
4. deque
deque 是一个双向队列,它可以从两端执行添加、删除操作。deque 比 list 更加适用于实现队列和栈。
a = deque([1, 2, 3, 4, 5])
(6)
left(0)
()
t()
5. namedtuple
namedtuple 是一个带有名称的元组,它可以用于创建新的自定义数据类型。
Point = namedtuple('Point', ['x', 'y'])
p = Point(1, 2)
print(p.x)
print(p.y)
```
```
1
2
```
a = {'x': 1, 'y': 2}
b = {'y': 3, 'z': 4}
7. defaultdict(int) vs. Counter
defaultdict(int) 和 Counter 都可以用于统计一个序列中元素的出现次数。它们的实现方法略有不同,但在大多数情况下都能达到同样的效果。
```
defaultdict(
Counter({1: 4, 2: 3, 3: 2, 4: 1, 5: 1})
```
8. 堆
heap 是一个实现了堆排序算法的容器,可以用于实现堆数据结构。
```
import heapq
x = p(a)
print(x, a)
```
[2, 3, 1, 5, 9, 7, 4]
1 [2, 3, 4, 5, 9, 7]
[2, 3, 4, 5, 9, 7, 6]
```
以上就是 collections 的一些用法。在实际编程中,使用 collections 可以大大提高代码的效率和可读性。
版权声明:本文标题:collections用法 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1703387090h449092.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论