2013-11-03 14 views
7

Ich weiß in C++ es existiert bereits #include <list> Jetzt bin ich neugierig zu wissen, ob es in Python auch existiert.Gibt es in Python eine vordefinierte Bibliothek mit verknüpften Listen?

+3

Willkommen bei SO! Könnten Sie erläutern, warum Sie das brauchen? Python hat bereits den Typ "list". – georg

+0

Eine Python 'list' ist äquivalent zu einem Array, keine verknüpfte Liste, es ist ein anderer Datentyp. – Leigh

+1

Mögliches Duplikat von http://stackoverflow.com/questions/280243/python-linked-list – Tim

Antwort

6

Sie können auch einen Blick auf llist Python packege nehmen, die einige nützliche Funktionen bietet, dass deque nicht der Fall ist. In diesem Paket sind nicht nur doppelt verknüpfte, sondern auch einzelne verknüpfte Listen-Datenstrukturen vorhanden. IMHO, einer der größten Vorteile dieses Paketes ist die Fähigkeit, einen Verweis auf die llist-Elemente zu speichern.

+0

Es gibt eine andere Antwort hier: http://stackoverflow.com/questions/280243/python-linked-list?noredirect=1&lq=1 – Mugen

1

Es scheint, dass collections.deque eine doppelt verknüpfte Liste Bibliothek in Python ist. Laut der Dokumentation sollte es etwa O (1) Kosten beim Anhängen oder Poppen vom Kopf oder vom Schwanz haben, sowie O (n) für reguläre Einsätze (was dem entspricht, was wir von einer verketteten Liste erwarten würden).

API: http://docs.python.org/2/library/collections.html#collections.deque

Quelle: https://stackoverflow.com/a/282238/2441252

+1

Ich ging durch das Dokument für Deque. Es scheint, als wäre deque mehr wie ein FIFO oder LIFO. Sie können keine Elemente in die Mitte der Warteschlange einfügen. Sie können sie nur am Anfang oder am Ende einfügen. – Mugen

Verwandte Themen