Sammlungen in Python: Alles, was Sie über Python-Sammlungen wissen müssen



In diesem Blog werden die in Python integrierten Sammlungsdatentypen sowie das Sammlungsmodul mit allen speziellen Sammlungsdatenstrukturen behandelt.

Die Programmiersprache Python verfügt über vier Erfassungsdatentypen. Liste , Tupel, setzt und . Aber Außerdem ist ein Modul enthalten, das als Sammlungen bezeichnet wird und über spezielle Datenstrukturen verfügt, die im Wesentlichen die Mängel der vier Datentypen abdecken. In diesem Blog werden wir jede dieser speziellen Datenstrukturen im Detail durchgehen. Im Folgenden sind die Themen aufgeführt, die in diesem Blog behandelt werden:

Was sind Sammlungen in Python?

Sammlungen in Python sind im Grunde genommen Container-Datentypen, nämlich Listen, Mengen, Tupel und Wörterbücher. Sie weisen je nach Deklaration und Verwendung unterschiedliche Merkmale auf.





  • Eine Liste wird in eckigen Klammern deklariert, ist veränderbar, speichert doppelte Werte und der Zugriff auf Elemente kann über Indizes erfolgen.

  • Ein Tupel ist geordnet und unveränderlich, obwohl doppelte Einträge in einem Tupel vorhanden sein können.



  • Ein Satz ist ungeordnet und in eckigen Klammern deklariert. Es ist nicht indiziert und enthält auch keine doppelten Einträge.

  • Ein Wörterbuch hat Schlüsselwertpaare und ist von Natur aus veränderbar. Wir verwenden eckige Klammern, um ein Wörterbuch zu deklarieren.

Dies sind die allgemeinen integrierten Container-Datentypen von Python. Aber wie wir alle wissen, hat Python immer etwas Besonderes zu bieten. Es wird mit einem Python-Modul namens Sammlungen geliefert, das über spezielle Datenstrukturen verfügt.



Spezialisierte Sammlungsdatenstrukturen

Sammlungen Modul in Python implementiert spezielle Datenstrukturen, die eine Alternative zu den in Python integrierten Container-Datentypen darstellen. Im Folgenden finden Sie die speziellen Datenstrukturen im Sammlungsmodul.

  1. namedtuple ()
  2. und
  3. Kettenkarte
  4. Zähler
  5. OrderedDict
  6. defaultdict
  7. UserDict
  8. Benutzerliste
  9. UserString

namedtuple ()

Es gibt ein Tupel mit einem benannten Eintrag zurück, was bedeutet, dass jedem Wert im Tupel ein Name zugewiesen wird. Es überwindet das Problem des Zugriffs auf die Elemente mithilfe der Indexwerte. Mit namedtuple () wird der Zugriff auf diese Werte einfacher, da Sie sich die Indexwerte nicht merken müssen, um bestimmte Elemente abzurufen.

Wie es funktioniert?

Zunächst müssen Sie das Sammlungsmodul importieren, es ist keine Installation erforderlich.

aus Sammlungen importiert namedtuple

Sehen Sie sich den folgenden Code an, um zu verstehen, wie Sie namedtuple verwenden können.

a = namedtuple ('kurse', 'name, tech') s = a ('data science', 'python') print (s) #die ausgabe sind kurse (name = 'python', tech = 'python')

Wie erstelle ich ein benanntes Tupel mithilfe einer Liste?

s._make (['data science', 'python']) # Die Ausgabe ist dieselbe wie zuvor.

und

deque ausgesprochen als 'deck' ist eine optimierte liste zum einfachen einfügen und löschen.

Wie es funktioniert?

#Erstellen einer Deque aus Sammlungen Import deque a = ['d', 'u', 'r', 'e', ​​'k'] a1 = Deque (a) print (a1) #Die Ausgabe wird deque ([' d ',' u ',' r ',' e ',' k '])

Schauen wir uns nun an, wie wir Elemente in deque einfügen und daraus entfernen.

a1.append ('a') print (a1) # Die Ausgabe erfolgt deque (['d', 'u', 'r', 'e', ​​'k', 'a']) a1.appendleft (' e ') print (a1) # die Ausgabe wird deque ([' e ',' d ',' u ',' r ',' e ',' k ',' a '])

Es sollte offensichtlich sein, dass das Einfügen einer Komponente mithilfe von Deque verbessert wird. Sie können auch Komponenten entfernen.

a1.pop () print (a1) #die Ausgabe erfolgt deque (['e', 'd', 'u', 'r', 'e', ​​'k']) a1.popleft () print (a1 ) #die Ausgabe wird deque sein (['d', 'u', 'r', 'e', ​​'k'])

Ähnlich wie bei den integrierten Datentypen gibt es mehrere andere Operationen, die wir für eine Deque ausführen können. Wie das Zählen von Elementen oder das Löschen der Deque usw.

ChainMap

Es ist eine wörterbuchähnliche Klasse, die in der Lage ist, mehrere Zuordnungen in einer einzigen Ansicht anzuzeigen. Grundsätzlich wird eine Liste mit mehreren anderen Wörterbüchern zurückgegeben. Angenommen, Sie haben zwei Wörterbücher mit mehreren Schlüsselwertpaaren. In diesem Fall erstellt ChainMap eine einzige Liste mit beiden Wörterbüchern.

Wie es funktioniert?

Was sind Daten in der Wissenschaft?
Import aus Sammlungen ChainMap a = {1: 'edureka', 2: 'python'} b = {3: 'data science', 4: 'Maschinelles Lernen'} c = ChainMap (a, b) print (c) #the Ausgabe wird ChainMap sein [{1: 'edureka', 2: 'python'}, {3: 'data science', 4: 'Machine Learning'}]

Um auf Elemente zuzugreifen oder diese einzufügen, verwenden wir die Schlüssel als Index. Um der ChainMap ein neues Wörterbuch hinzuzufügen, verwenden wir den folgenden Ansatz.

a1 = {5: 'AI', 6: 'neuronale Netze'} c1 = c.new_child (a1) print (c1) #die Ausgabe ist ChainMap [{1: 'edureka', 2: 'python'}, { 3: 'Data Science', 4: 'Maschinelles Lernen'}, {5: 'AI', 6: 'Neuronale Netze'}]

Zähler

Es ist eine Wörterbuch-Unterklasse, die zum Zählen von Hash-Objekten verwendet wird.

Wie es funktioniert?

aus Sammlungen importieren Zähler a = [1,1,1,1,2,3,3,4,3,3,4] c = Zähler (a) drucken (c) #die Ausgabe ist Zähler = ({1: 4, 2: 1, 3: 4, 4: 2})

Zusätzlich zu den Operationen, die Sie an einem Wörterbuchzähler ausführen können, gibt es drei weitere Operationen, die wir ausführen können.

  1. Elementfunktion - Gibt eine Liste zurück, die alle Elemente im Zähler enthält.
  2. Most_common () - Gibt eine sortierte Liste mit der Anzahl der einzelnen Elemente im Zähler zurück.
  3. Subtract () - Es wird ein iterierbares Objekt als Argument verwendet und die Anzahl der Elemente im Zähler abgezogen.

OrderedDict

Es ist eine Wörterbuch-Unterklasse, die sich an die Reihenfolge erinnert, in der die Einträge hinzugefügt wurden. Selbst wenn Sie den Wert des Schlüssels ändern, wird die Position aufgrund der Reihenfolge, in der sie in das Wörterbuch eingefügt wurde, grundsätzlich nicht geändert.

Wie es funktioniert?

aus Sammlungen importieren OrderedDict od = OrderedDict () od [1] = 'e' od [2] = 'd' od [3] = 'u' od [4] = 'r' od [5] = 'e' od [6] = 'k' von [7] = 'a' print (from) # Die Ausgabe lautet OrderedDict [(1, 'e'), (2, 'd'), (3, 'u'), (4, 'r'), (5, 'e'), (6, 'k'), (7, 'a')]

Es spielt keine Rolle, welcher Wert in das Wörterbuch eingefügt wird. Der OrderedDict merkt sich die Reihenfolge, in der er eingefügt wurde, und erhält die Ausgabe entsprechend. Auch wenn wir den Wert des Schlüssels ändern. Nehmen wir an, wenn wir den Schlüsselwert 4 auf 8 ändern, ändert sich die Reihenfolge in der Ausgabe nicht.

defaultdict

Es ist eine Wörterbuch-Unterklasse, die eine Factory-Funktion aufruft, um fehlende Werte bereitzustellen. Im Allgemeinen werden keine Fehler ausgegeben, wenn ein fehlender Schlüsselwert in einem Wörterbuch aufgerufen wird.

Wie es funktioniert?

aus Sammlungen importieren defaultdict d = defaultdict (int) # Wir müssen auch einen Typ angeben. d [1] = 'edureka' d [2] = 'python' print (d [3]) #it gibt die Ausgabe als 0 anstelle von keyerror aus.

UserDict

Diese Klasse fungiert als Wrapper um Wörterbuchobjekte. Die Notwendigkeit für diese Klasse ergab sich aus der Notwendigkeit, direkt vom Diktat zu unterklassifizieren. Die Arbeit mit dieser Klasse wird einfacher, da das zugrunde liegende Wörterbuch zu einem Attribut wird.

Klassensammlungen.UserDict ([initialdata])

Diese Klasse simuliert ein Wörterbuch. Der Inhalt der Instanz wird in einem regulären Wörterbuch gespeichert, auf das mit dem Attribut 'data' der Klasse UserDict zugegriffen werden kann. Die Referenz der Anfangsdaten wird nicht aufbewahrt, damit sie für andere Zwecke verwendet werden können.

Benutzerliste

Diese Klasse verhält sich wie ein Wrapper um die Listenobjekte. Es ist eine nützliche Basisklasse für andere Listen wie Klassen, die von ihnen erben und die vorhandenen Methoden überschreiben oder sogar weniger neue hinzufügen können.

Die Notwendigkeit für diese Klasse ergab sich aus der Notwendigkeit, direkt von der Liste zu unterklassifizieren. Es wird einfacher, mit dieser Klasse zu arbeiten, da die zugrunde liegende Liste zu einem Attribut wird.

Klassensammlungen.UserList ([Liste])

Es ist die Klasse, die eine Liste simuliert. Der Inhalt der Instanz wird in einer üblichen Liste gespeichert. Die Unterklassen der Liste bieten einen Konstruktor, der entweder ohne oder mit nur einer Konkurrenz aufgerufen werden kann.

In diesem Blog haben wir die speziellen Datenstrukturen kennengelernt, die mit dem Sammlungsmodul in Python geliefert werden. Die Optimierung führt zu einer besseren Leistung und verbesserten Ergebnissen. Gleiches gilt auch für unsere eigene Karriere und Fähigkeiten. Wenn Sie Ihr Lernen ankurbeln und die Wahrnehmung der Programmierung optimieren möchten, melden Sie sich bei edureka an und entfesseln Sie die endlosen Möglichkeiten mit Python.

Haben Sie Fragen? Erwähnen Sie sie in Kommentaren, und wir werden uns so schnell wie möglich bei Ihnen melden.