欢迎访问宙启技术站
智能推送

collections.deque的扩展方法及其用法示例

发布时间:2023-12-15 17:03:10

collections.deque是Python标准库中的一个容器类,它实现了双向队列(deque)的功能,其主要特点是可以从两端进行元素的快速插入和删除操作,效率较高。

在deque中除了常用的insert、append、pop、popleft等方法之外,还提供了一些扩展方法,用于对deque进行一些特定操作,下面是一些常用的扩展方法及其用法示例:

1. extend(iterable)

- 作用:在deque的右端扩展增加多个元素。

- 示例:

from collections import deque

d = deque([1, 2, 3])
d.extend([4, 5, 6])
print(d)  # 输出deque([1, 2, 3, 4, 5, 6])

2. extendleft(iterable)

- 作用:在deque的左端扩展增加多个元素。

- 示例:

from collections import deque

d = deque([1, 2, 3])
d.extendleft([4, 5, 6])
print(d)  # 输出deque([6, 5, 4, 1, 2, 3])

3. rotate(n)

- 作用:将deque中的元素循环右移n个位置,当n为正数时,队列末尾的元素移到队首;当n为负数时,队列首部的元素移到队尾。

- 示例:

from collections import deque

d = deque([1, 2, 3, 4, 5])
d.rotate(2)
print(d)  # 输出deque([4, 5, 1, 2, 3])

d.rotate(-3)
print(d)  # 输出deque([2, 3, 4, 5, 1])

4. clear()

- 作用:清空deque中的所有元素。

- 示例:

from collections import deque

d = deque([1, 2, 3])
d.clear()
print(d)  # 输出deque([])

5. remove(value)

- 作用:从deque中删除 个与value相等的元素。

- 示例:

from collections import deque

d = deque([1, 2, 3, 2, 4])
d.remove(2)
print(d)  # 输出deque([1, 3, 2, 4])

6. count(value)

- 作用:返回deque中与value相等的元素个数。

- 示例:

from collections import deque

d = deque([1, 2, 3, 2, 4])
count = d.count(2)
print(count)  # 输出2

以上就是collections.deque的一些扩展方法及其用法示例。使用deque可以快速高效地进行双向队列的操作,方便地实现一些特定需求。在实际开发中,如果需要频繁对队列的两端进行操作,推荐使用deque来代替列表。