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

Python中collections.deque的迭代操作和元素访问方法

发布时间:2024-01-14 09:56:28

在Python中,collections.deque是一个双端队列(deque)的实现,它是线程安全的,在队列的两端都可以进行插入和删除操作。deque对象是可迭代的,并且可以通过索引访问其中的元素。

下面是collections.deque的迭代操作和元素访问的方法,以及使用例子:

1. 迭代操作:

- 使用for循环迭代所有元素:

from collections import deque

d = deque([1, 2, 3, 4, 5])
for element in d:
    print(element, end=" ")
# Output: 1 2 3 4 5

- 使用list方法将deque转换为列表,并进行迭代:

from collections import deque

d = deque([1, 2, 3, 4, 5])
for element in list(d):
    print(element, end=" ")
# Output: 1 2 3 4 5

2. 元素访问方法:

- 使用索引访问特定位置的元素,索引从0开始:

from collections import deque

d = deque([1, 2, 3, 4, 5])
print(d[0])  # Output: 1
print(d[-1])  # Output: 5

- 使用popleft方法返回并删除队列中的第一个元素:

from collections import deque

d = deque([1, 2, 3, 4, 5])
element = d.popleft()
print(element)  # Output: 1
print(d)  # Output: deque([2, 3, 4, 5])

- 使用pop方法返回并删除队列中的最后一个元素:

from collections import deque

d = deque([1, 2, 3, 4, 5])
element = d.pop()
print(element)  # Output: 5
print(d)  # Output: deque([1, 2, 3, 4])

- 使用append方法在队列的右端插入元素:

from collections import deque

d = deque([1, 2, 3, 4])
d.append(5)
print(d)  # Output: deque([1, 2, 3, 4, 5])

- 使用appendleft方法在队列的左端插入元素:

from collections import deque

d = deque([2, 3, 4, 5])
d.appendleft(1)
print(d)  # Output: deque([1, 2, 3, 4, 5])

以上是collections.deque的迭代操作和元素访问的方法及其使用例子。这些方法使得处理双端队列更加方便和高效。