我使用python 3.6.1,并且由于其便利性,我经常在收藏中使用deque()。这次,我需要获得Deque的第一个价值,并想知道是否有可能。
问题在于我可以使用.popleft()
做到这一点,但最终可以同时删除该值。我想到了list(deque01)[0]
,但是我担心当Deque01大还是获得第一个值的过程中,重复了很多次,它是否如此耗资资源。有没有有效执行此操作的方法或技巧?
对于deque
数据结构,通常称为" peek"操作,在Python中,它刚刚使用通常的Datamodel的__getitem__
Dunder实现。
下面的示例直接从文档中获取:
>>> from collections import deque
>>> d = deque('ghi') # make a new deque with three items
>>> d[0] # peek at leftmost item
'g'
>>> d[-1] # peek at rightmost item
'i'
请注意,即使该接口看起来与列表相似,Deques也仅在最左或最右边的项目中提供快速访问。与列表相比,在中间访问数据的速度较慢,在该列表中,在任何地方都可以将其索引。