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(, {1: 4, 2: 3, 3: 2, 4: 1, 5: 1})

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 可以大大提高代码的效率和可读性。


本文标签: 用于 实现 字典 自动 容器