Python-Deque-Peek

Salman Mehmood 21 Juni 2023
  1. Überblick über Python Deque Peek
  2. Lösung: Verwenden Sie Indizes, um das vordere Element über die Klasse deque zu sehen
Python-Deque-Peek

Dieser Artikel zeigt, wie Sie die Elemente, die am Anfang einer Deque (Double-Ended-Queue) in Python vorhanden sind, anzeigen/überprüfen, ohne sie aus der Deque entfernen zu müssen.

Überblick über Python Deque Peek

Während wir eine Deque in unserem Programm verwenden, möchten wir vielleicht prüfen, was am Anfang unserer Deque steht. Basierend auf dem, was an der Vorderseite der Deque vorhanden sein könnte, möchten wir möglicherweise eine andere Maßnahme ergreifen.

Während es am offensichtlichsten erscheint, das Element zu knallen und auf unsere notwendige Bedingung zu prüfen, ist es nicht immer die beste Wahl. Ein typisches Szenario kann eine Einschränkung sein, die eine Änderung der deque nicht zulässt; Abgesehen davon ist es auch eine unnötige Operation.

Betrachten Sie den folgenden Code:

from collections import deque

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

In diesem Codeschnipsel importieren wir zunächst die Datenstruktur deque aus dem Modul collections, das mit der Installation von Python geliefert wird. Danach wird ein deque initialisiert, dessen Elemente von 1 bis 10 reichen.

Jetzt ist es erforderlich, dass wir auf die Vorderseite des deque zugreifen, ohne Elemente eines Deque aus irgendeiner Richtung zu knallen. Wie können wir das machen? Lass es uns unten lernen.

Lösung: Verwenden Sie Indizes, um das vordere Element über die Klasse deque zu sehen

Bevor wir die Lösung diskutieren, müssen wir lernen, wie die Indizierung in Python funktioniert und wie wir Indizes zu unserem Vorteil nutzen können, um auf das Front-Member der deque zuzugreifen, ohne ein Element zu öffnen.

Indizes in Python

Die Python-Methode index() bezieht sich abhängig von ihrer Position auf bestimmte Elemente innerhalb einer Iterable. Daher können wir auch sagen, dass wir innerhalb eines Iterables direkt auf die gewünschten Elemente zugreifen und verschiedene Aktionen basierend auf Ihren Anforderungen ausführen können.

Wie fast alle anderen Programmiersprachen sind Objekte in Python zero-indiziert, d.h. die Positionszählung beginnt bei Null. Zahlreiche weitere Programmiersprachen folgen der gleichen Struktur.

Wenn also eine Liste fünf Elemente enthält, nimmt das Anfangselement (das Element ganz links) die Position Null ein, gefolgt von den Elementen an der ersten, zweiten, dritten und vierten Position.

Die Methode index() zeigt den Index eines bestimmten Elements in der Liste, wenn wir sie in einer Liste mit dem Namen des Elements als Argument aufrufen.

Betrachten Sie den folgenden Code:

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

Ausgang:

Index of Suzuki: 0
Index of Tesla: 4

Python-Indexoperatoren

Eckige Klammern [] repräsentieren den Indexoperator in Python. Die Syntax erfordert jedoch, dass Sie eine Zahl in die Klammern setzen.

Syntax:

IterableObject[index]

Negative Indizes in Python

Bis zu diesem Punkt haben wir in den vorherigen Beispielen immer eine positive ganze Zahl innerhalb unseres Indexoperators (die eckigen Klammern, []) verwendet; Es gibt auch negative Indizes.

Wenn wir an den letzten paar Mitgliedern einer Liste interessiert sind oder wenn wir die Liste vom anderen Ende indizieren wollen, können wir häufig negative Ganzzahlen verwenden.

Negative Indizierung beschreibt diese Methode der Indizierung vom anderen Ende. Betrachten Sie den folgenden Code:

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

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

Was die folgende Ausgabe ergibt:

Tesla
Ford

Jetzt, da wir wissen, wie Negativindizierung funktioniert, wird die Lösung unseres Problems kristallklar. Betrachten Sie den folgenden Code:

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

Ausgang:

First Element: 1
Second Element: 10

Das funktioniert, weil diese deque im Sinne eines indexbasierten Zugriffs auch als Liste verstanden werden kann.

Sie können das vordere Element mit deque[0] und das letzte mit deque[-1] einsehen. Es funktioniert, ohne dass Elemente von links oder rechts knallen, und wirkt auch effizient.

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