如何在不删除deque的情况下获取deque的第一个值?

时间:2017-09-21 00:31:52

标签: python deque

我使用Python 3.6.1并且由于其方便性,我经常使用集合中的deque()。这一次,我需要得到一个双端队列的第一个值,并想知道它是否可能。

问题是我可以使用.popleft()执行此操作,但最终会同时删除该值。我想到了list(deque01)[0],但是我担心当deque01很大或者获得第一个值的过程重复多次时它是否会消耗太多资源。有效的方法或技巧是否有效?

1 个答案:

答案 0 :(得分:11)

对于<element1 id="1252" classname=""> <element2>"1252"</element2> </element1> 数据结构,这通常被称为&#34; peek&#34;操作,在Python中,它只是用通常的数据模型__getitem__ dunder实现的。

以下示例直接取自docs

deque

请注意,即使界面看起来类似于列表,但是deques只能在最左边或最右边的项目中快速访问。访问中间数据的速度较慢,而不是列表,在任何地方都可以快速索引数据。