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



我使用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也仅在最左或最右边的项目中提供快速访问。与列表相比,在中间访问数据的速度较慢,在该列表中,在任何地方都可以将其索引。

最新更新