Python Deque Peek 介绍
本文演示了如何在 Python 中查看/检查双端队列(双端队列)前面的元素,而无需将它们从双端队列中删除。
Python Deque Peek 概述
在我们的程序中使用双端队列时,我们可能想检查双端队列前面的内容。 根据双端队列前面可能出现的内容,我们可能想要采取不同的操作。
虽然弹出元素并检查必要条件似乎是最明显的,但它并不总是最佳选择。 一个典型的场景可能是一个不允许改变双端队列的约束; 除此之外,这也是一种不必要的操作。
考虑以下代码:
from collections import deque
data = deque([1,2,3,4,5,6,7,8,9,10])
在这段代码中,我们首先从 collections 模块中导入 deque 数据结构,该模块随 Python 安装一起提供。 之后,初始化一个双端队列,元素范围为 1 到 10。
现在,我们需要访问双端队列的前端,而不从任何方向弹出双端队列的元素。 我们该怎么做? 下面一起来了解一下吧。
解决方案:使用索引通过 deque 类查看前面的元素
在讨论解决方案之前,我们必须了解索引在 Python 中是如何工作的,以及我们如何利用索引来访问双端队列的前端成员而不弹出任何元素。
Python 中的索引
Python index()
方法根据可迭代对象中的位置来引用特定元素。 因此,我们也可以说,我们可以直接访问一个可迭代对象中的所需元素,并根据您的要求执行各种操作。
与几乎所有其他编程语言一样,Python 中的对象是零索引的,这意味着位置计数从零开始。 许多其他编程语言都遵循相同的结构。
因此,如果列表中有五个项目,则初始元素(最左边的元素)占据零位置,然后是第一、第二、第三和第四位置的元素。
如果我们以项目名称作为参数在列表上调用 index()
方法,则该方法会显示列表中特定项目的索引。
考虑以下代码:
cars = ["Suzuki", "Honda", "Chevrolet", "Ford", "Tesla"]
#Printing out the indexes of Suzuki and Tesla
print("Index of Suzuki: ", cars.index("Suzuki"))
print("Index of Tesla: ", cars.index("Tesla"))
输出:
Index of Suzuki: 0
Index of Tesla: 4
Python 索引运算符
方括号 []
代表Python中的索引运算符。 但是,语法要求您将数字放在括号内。
句法:
IterableObject[index]
Python 中的负索引
到目前为止,我们在前面的示例中始终在索引运算符(方括号 [])中使用正整数; 负指标也存在。
如果我们对列表的最后几个成员感兴趣,或者如果我们想从另一端索引列表,我们可以经常使用负整数。
负索引描述了这种从另一端进行索引的方法。 考虑以下代码:
cars = ["Suzuki", "Honda", "Chevrolet", "Ford", "Tesla"]
#Printing out the indexes of Suzuki and Tesla
print(cars[-1])
print(cars[-2])
给出以下输出:
Tesla
Ford
现在我们知道了负索引是如何工作的,我们的问题的解决方案就变得一目了然了。 考虑以下代码:
from collections import deque
data = deque([1,2,3,4,5,6,7,8,9,10])
print("First Element: " + str(data[0]))
print("Second Element: " + str(data[-1]))
输出:
First Element: 1
Second Element: 10
它之所以有效,是因为该双端队列也可以理解为基于索引访问的列表。
您可以使用 deque[0]
查看前面的元素,并使用 deque[-1]
查看最后一个元素。 它的工作原理是没有元素从左侧或右侧弹出,而且看起来也很高效。
相关文章
Pandas DataFrame DataFrame.shift() 函数
发布时间:2024/04/24 浏览次数:133 分类:Python
-
DataFrame.shift() 函数是将 DataFrame 的索引按指定的周期数进行移位。
Python pandas.pivot_table() 函数
发布时间:2024/04/24 浏览次数:82 分类:Python
-
Python Pandas pivot_table()函数通过对数据进行汇总,避免了数据的重复。
Pandas read_csv()函数
发布时间:2024/04/24 浏览次数:254 分类:Python
-
Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。
Pandas 多列合并
发布时间:2024/04/24 浏览次数:628 分类:Python
-
本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。
Pandas loc vs iloc
发布时间:2024/04/24 浏览次数:837 分类:Python
-
本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。
在 Python 中将 Pandas 系列的日期时间转换为字符串
发布时间:2024/04/24 浏览次数:894 分类:Python
-
了解如何在 Python 中将 Pandas 系列日期时间转换为字符串