迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

Python Deque Peek 介绍

作者:迹忆客 最近更新:2023/06/21 浏览次数:

本文演示了如何在 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] 查看最后一个元素。 它的工作原理是没有元素从左侧或右侧弹出,而且看起来也很高效。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Pandas read_csv()函数

发布时间:2024/04/24 浏览次数:254 分类:Python

Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。

Pandas 追加数据到 CSV 中

发布时间:2024/04/24 浏览次数:352 分类:Python

本教程演示了如何在追加模式下使用 to_csv()向现有的 CSV 文件添加数据。

Pandas 多列合并

发布时间:2024/04/24 浏览次数:628 分类:Python

本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。

Pandas loc vs iloc

发布时间:2024/04/24 浏览次数:837 分类:Python

本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便