您的位置:

Python中的Deque用法和实例

一、简介

Deque,即“double-ended queue”的缩写,是一种具有队列和栈的性质的数据结构。而Python中的deque则是一个双向队列,其可以在队列的两端进行数据的插入与删除操作。deque是多线程安全的,同时可以避免一个线程在访问deque的时候,另一个线程的干扰。

二、创建Deque

我们可以通过使用Python标准库中的collections模块来创建Deque。


from collections import deque

# 创建Deque
d = deque()
print(d)

我们也可以同时将元素传入到deque()方法中,以初始化Deque。


# 创建Deque并初始化
d = deque([1, 2, 3])
print(d)

三、向Deque中添加元素

向Deque中添加元素可以使用append()appendleft()方法,分别用于向deque()的末尾和起始位置添加元素。


from collections import deque

d = deque([1, 2, 3])
print(d)

# 在末尾添加元素
d.append(4)
print(d)

# 在起始位置添加元素
d.appendleft(0)
print(d)

我们也可以使用extend()extendleft()方法,向deque()中批量添加元素。


from collections import deque

d = deque([1, 2, 3])
print(d)

# 批量在末尾添加元素
d.extend([4, 5, 6])
print(d)

# 批量在起始位置添加元素
d.extendleft([-1, 0])
print(d)

四、从Deque中删除元素

从Deque中删除元素可以使用pop()popleft()方法,分别从deque()的末尾和起始位置删除元素。


from collections import deque

d = deque([1, 2, 3])
print(d)

# 从末尾删除元素
d.pop()
print(d)

# 从起始位置删除元素
d.popleft()
print(d)

五、访问Deque中的元素

可以使用下标方式[]来访问Deque中的元素,下标从0开始。同时,还可以使用rotate()方法,将Deque中的元素向左或向右轮换指定长度。


from collections import deque

d = deque([1, 2, 3, 4, 5])
print(d)

# 通过下标访问元素
print(d[0])

# 向左轮换1个长度
d.rotate(-1)
print(d)

# 向右轮换2个长度
d.rotate(2)
print(d)

六、总结

Python中的Deque可以高效地进行数据增删操作,同时还支持多线程操作。以上就是关于Python中Deque的用法和实例,包括创建Deque、向Deque中添加和删除元素以及访问Deque等操作的详细介绍。