queue und priority queue

q

Die priority queue ist eine lineare Datenstruktur, in der die Daten nach dem „first in – first out“ (FIFO-) Prinzip verwaltet werden. Das erste eingefügte Element wird auch wieder als erstes entfernt. Andere Elemente können nicht entfernt werden.

csv Beispiel (file.csv)

Name;Alter;Wohnort
Christian;35;Musterstadt
Harald;42;Beispielhausen
Tom;32;Beispielstadt
Anne;39;Musterhausen

In dem folgenden Beispiel verwenden wir queue.PriorityQueue(). Dieses erzeugt eine priorisierte (sortierte) Warteschlange.

import csv
names = {}

# csv einlesen
with open("file.csv") as file:
    reader = csv.reader(file, delimiter=';', quotechar='"')
    counter = 0
    for line in reader:
        if counter != 0:
            number = int(line[1])
            name = line[0]
            names[name] = number
        counter = counter + 1

import queue
pq = queue.PriorityQueue()

for name, number in names.items():
    pq.put([number, name])

for i in range(0, 4):
    print(pq.get())

Eine normale Warteschlange ohne Sortierung erzeugst Du mit queue = [] und .append().

queue = []
# hinzufügen von Elementen
queue.append('a')
queue.append('b')
queue.append('c')
print(queue)

# entfernen von Elementen
print(queue.pop(0))
print(queue.pop(0))
print(queue.pop(0))

print(queue)

Über den Autor

Christian

Hi, mein Name ist Christian. Ich bin ein ehemaliger Softwareentwickler, der seine Berufung seit nun schon mehreren Jahren im Digital Marketing gefunden hat. Couchidee ist mein kleines privater und digitales Notizbuch / Blog.

#OstThüringen #Gründer #KreativKopf #DigitalMarketing #Development

Kommentar hinzufügen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

Über mich

Hi, mein Name ist Christian. Ich bin ein ehemaliger Softwareentwickler, der seine Berufung seit nun schon mehreren Jahren im Digital Marketing gefunden hat. Couchidee ist mein kleines privater und digitales Notizbuch / Blog.

#OstThüringen #Gründer #KreativKopf #DigitalMarketing #Development