Vistazo de Python Deque

Salman Mehmood 21 junio 2023
  1. Descripción general de Python Deque Peek
  2. Solución: use índices para mirar el elemento frontal a través de la clase deque
Vistazo de Python Deque

Este artículo demuestra cómo ver/inspeccionar los elementos presentes al frente de una deque (cola de dos extremos) en Python sin tener que eliminarlos de la deque.

Descripción general de Python Deque Peek

Mientras usamos un deque en nuestro programa, es posible que queramos verificar qué hay al frente de nuestro deque. En función de lo que podría estar presente en la parte frontal del deque, es posible que deseemos realizar una acción diferente.

Si bien hacer estallar el elemento y verificar nuestra condición necesaria puede parecer lo más obvio, no siempre es la mejor opción. Un escenario típico puede ser una restricción que no permite alterar el deque; aparte de eso, también es una operación innecesaria.

Considere el siguiente código:

from collections import deque

data = deque([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

En este fragmento de código, primero importamos la estructura de datos deque del módulo colecciones, que viene con la instalación de Python. Después de lo cual, se inicializa un deque, con elementos que van del 1 al 10.

Ahora, se requiere que accedamos al frente del deque sin hacer estallar elementos de un deque desde ninguna dirección. ¿Cómo podemos hacer eso? Aprendamos a continuación.

Solución: use índices para mirar el elemento frontal a través de la clase deque

Antes de discutir la solución, debemos aprender cómo funciona la indexación en Python y cómo podemos usar los índices a nuestro favor para acceder al miembro frontal del deque sin abrir ningún elemento.

Índices en Python

El método Python index() se refiere a elementos específicos dentro de un iterable dependiendo de su posición. Por lo tanto, también podemos decir que podemos acceder directamente a los elementos deseados dentro de un iterable y realizar diversas acciones en función de sus requisitos.

Como casi todos los demás lenguajes de programación, los objetos en Python están indexados en cero, lo que significa que el recuento de posiciones comienza en cero. Numerosos lenguajes de programación adicionales siguen la misma estructura.

Por lo tanto, si hay cinco elementos en una lista, el elemento inicial (el elemento más a la izquierda) ocupa la posición cero, seguido de los elementos en la primera, segunda, tercera y cuarta posición.

El método index() revela el índice de un elemento específico dentro de la lista si lo llamamos en una lista con el nombre del elemento como argumento.

Considere el siguiente código:

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"))

Producción :

Index of Suzuki: 0
Index of Tesla: 4

Operadores de índice de Python

Los corchetes [] representan el operador de índice en Python. Sin embargo, la sintaxis requiere que coloque un número entre corchetes.

Sintaxis:

IterableObject[index]

Índices negativos en Python

Hasta este punto, siempre hemos utilizado un número entero positivo dentro de nuestro operador de índice (los corchetes, []) en los ejemplos anteriores; también existen índices negativos.

Si estamos interesados en los últimos miembros de una lista, o si queremos indexar la lista desde el otro extremo, con frecuencia podemos utilizar números enteros negativos.

La indexación negativa describe este método de indexación desde el otro extremo. Considere el siguiente código:

cars = ["Suzuki", "Honda", "Chevrolet", "Ford", "Tesla"]

# Printing out the indexes of Suzuki and Tesla
print(cars[-1])
print(cars[-2])

Lo que da la siguiente salida:

Tesla
Ford

Ahora que sabemos cómo funciona la indexación negativa, la solución a nuestro problema se vuelve muy clara. Considere el siguiente código:

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]))

Producción :

First Element: 1
Second Element: 10

Funciona porque ese deque también puede entenderse como una lista en términos de acceso basado en índices.

Puede mirar el elemento frontal usando deque[0] y mirar el último usando deque[-1]. Funciona sin elementos saltando desde la izquierda o la derecha y también parece eficiente.

Salman Mehmood avatar Salman Mehmood avatar

Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.

LinkedIn