Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在不删除deque的情况下获取其第一个值?_Python_Deque - Fatal编程技术网

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

Python 如何在不删除deque的情况下获取其第一个值?,python,deque,Python,Deque,我使用Python3.6.1,由于其方便性,我经常使用集合中的deque()。这一次,我需要得到deque的第一个值,并想知道这是否可能 问题是,我可以使用.popleft(),但它最终会同时删除该值。我想到了list(deque01)[0],但我担心的是,当deque01很大时,它是否会消耗大量资源,或者获取第一个值的过程会重复很多次。有什么方法或技巧可以有效地做到这一点吗?对于deque数据结构,这通常被称为“peek”操作,在Python中,它只是用通常的数据模型的dunder实现的 以下

我使用Python3.6.1,由于其方便性,我经常使用集合中的deque()。这一次,我需要得到deque的第一个值,并想知道这是否可能


问题是,我可以使用
.popleft()
,但它最终会同时删除该值。我想到了
list(deque01)[0]
,但我担心的是,当deque01很大时,它是否会消耗大量资源,或者获取第一个值的过程会重复很多次。有什么方法或技巧可以有效地做到这一点吗?

对于
deque
数据结构,这通常被称为“peek”操作,在Python中,它只是用通常的数据模型的dunder实现的

以下示例直接取自:

请注意,尽管界面看起来类似于列表,但deques只提供对最左侧或最右侧项目的快速访问。在中间访问数据比较慢,而不是一个列表,它很快就可以在任何地方索引。p>
>>> 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'