Sammlung in Python: Alles, was Sie wissen müssen

Veröffentlicht: 2021-04-09

Python ist eine mächtige Programmiersprache. Es ist modular aufgebaut und bekannt für seine Einfachheit, Wiederverwendbarkeit und Wartbarkeit. Bei der modularen Programmierung wird eine große und komplexe Programmieraufgabe in kleinere Module zerlegt.

Dieser Artikel behandelt die Modulsammlung in Python . Collection verbessert die Funktionalitäten und ist die Alternative zu Pythons integrierten Allzweck-Dict-, List-, Set- und Tuple-Containern.

„Python-Listen, -Tupel, -Sätze und -Wörterbücher sind benutzerdefinierte Datenstrukturen, und jede hat ihre eigenen Vor- und Nachteile.“

Inhaltsverzeichnis

Python-Modul

Ein Modul ist eine Datei, die Python-Definitionen und -Anweisungen enthält, die eine Reihe von Funktionen implementieren. Der import-Befehl wird verwendet, um Module aus anderen Modulen zu importieren. Python hat mehrere eingebaute Module.

Kommen wir nun zum Kern des Artikels und lernen die Modulsammlung in Python im Detail kennen.

Sammlung in Python

Collection in Python ist der Container, der Sammlungen von Daten speichert. List, set, tuple, dict usw. sind in Python eingebaute Sammlungen . Es gibt sechs Sammlungsmodule in Python, die zusätzliche Datenstrukturen zum Speichern von Datensammlungen bieten. Diese Python-Module verbessern die Operationen der Sammlung integrierter Container.

Wir werden nun die verschiedenen Container besprechen, die von der Sammlung im Python -Modul bereitgestellt werden.

1. OrderedDict

OrderedDict() funktioniert ähnlich wie das Dictionary-Objekt, bei dem Schlüssel die Reihenfolge beibehalten, in der sie eingefügt werden. Wenn Sie den Schlüssel erneut einfügen möchten, wird der vorherige Wert überschrieben und die Schlüsselposition ändert sich nicht.

Beispiel:

Importiere OrderedDict aus Sammlungen

d1=Sammlungen.OrderedDict()

d1['A']=1

d1['B']=2

d1['C']=3

d1['D']=4

für x,v in d1.items():

drucken (x,v)

Ausgabe:

Ein 1

B2

C3

D4

2. Deque ()

Die Python deque() ist eine optimierte Liste, die Elemente aus beiden Extremen hinzufügt und entfernt.

Beispiel:

deque aus Sammlungen importieren

list1 = [“a”,”b”,”c”]

deq = deque(liste1)

drucken (deq)

Ausgabe:

deque(['a', 'b', 'c'])

3. Zähler

Zähler sind die Untergruppe der Dictionary-Objekte, die hashfähige Objekte zählen. Die Counter -Funktion nimmt input iterable als Argument und gibt eine Ausgabe als Dictionary zurück. Der Schlüssel ist ein iterierbares Element, und der Wert ist die Gesamthäufigkeit, mit der ein Element in der Iteration vorhanden ist.

Beispiel:

Zähler aus Sammlungen importieren

c = Zähler()

Liste1 = [1,2,3,4,5,7,8,5,9,6,10]

Zähler (Liste1)

Zähler({1:5,2:4})

Liste1 = [1,2,4,7,5,1,6,7,6,9,1]

c = Zähler(Liste1)

drucken (c[1])

Ausgabe:

3

Zusätzliche Zählerfunktionen _

1. elements() Funktion

Die Funktion elements() gibt eine Liste der im Counter- Objekt vorhandenen Elemente zurück.

Beispiel:

c = Zähler({1:4,2:3})

print(list(c.elemente()))

Ausgabe:

[1,1,1,1,2,2,2]

Hier wird ein Counter- Objekt mit einem Dictionary-Argument erstellt. Die Anzahl der Zählungen für 1 ist 4 und für 2 ist 3. Die Funktion elements() wird aufgerufen, wobei das c -Objekt einen Iterator zurückgibt.

2. most_common()-Funktion

Die Python-Funktion Counter() gibt ein ungeordnetes Wörterbuch zurück, während die Funktion most_common() es nach der Anzahl der einzelnen Elemente sortiert.

Beispiel:

Liste = [1,2,3,4,5,5,5,7,3]

c = Zähler(Liste)

print(c.most_common())

Ausgabe:

[((5,3), (1,1), (2,1), (3,2), (4,1), (7,1))]

Hier gibt die Funktion most_common eine sortierte Liste nach der Anzahl der Elemente zurück. 5 kommt dreimal; daher steht es als Element der Liste an erster Stelle.

3. Subtract()-Funktion

subtract () berücksichtigt iterierbare oder Mapping-Argumente und subtrahiert die Elementanzahl mit diesem Argument.

Beispiel:

c = Zähler({1:2,2:3})

Ausgabe = {1:1,2:1}

c. subtrahieren (Ausgabe)

drucken (c)

Ausgabe:

Zähler({1:1,2:2})

4. Chainmap-Objekte

Die Chainmap-Klasse gruppiert mehrere Wörterbücher, um eine einzige Liste zu erstellen. Das verknüpfte Wörterbuch ist öffentlich und kann über das map-Attribut aufgerufen werden.

Beispiel:

Chainmap aus Sammlungen importieren

dict1 = { 'w' : 1, 'x' : 2 }

dict2 = {'y': 3. 'z': 4 }

chain_map = ChainMap(dict1,dict2)

print(chain_map.maps)

Ausgabe:

[{'x': 2, 'w':1}, {'y': 3, 'x':4}]

5. Benanntes Tupel

Die Funktion namedtuple() gibt ein Tupelobjekt mit Namen für jede Position im Tupel zurück. Es wurde eingeführt, um das Problem zu beseitigen, sich den Index jedes Felds eines Tupelobjekts zu merken.

Beispiel:

Namedtuple aus Sammlungen importieren

Student = namedtuple ('Student','Vorname, Nachname, Alter')

s1 = Student ('Tom', 'Alter', '12')

print(s1.vorname)

Ausgabe:

Student(firstname='Tom', lastname='Alter', age='12')

In diesem Beispiel können Sie auf die Felder jeder Instanz einer Klasse zugreifen.

6. DefaultDict

Das Python defaultdict() ist ein Dictionary-Objekt und eine Unterklasse der dict-Klasse. Es stellt alle Dictionary-Methoden bereit, nimmt aber das erste Argument als Standarddatentyp. Es löst einen Fehler aus, wenn Sie auf einen nicht vorhandenen Schlüssel zugreifen.

Beispiel:

import defaultdict aus Sammlungen

num = defaultdict(int)

num['eins'] = 1

num['zwei'] = 2

print (num['drei'])

Ausgabe:

0

Fazit

Die Sammlung in Python bringt bekanntermaßen Verbesserungen für das Python-Sammlungsmodul. Die Sammlungen wurden in der Version 2.4 von Python eingeführt. In den nachfolgenden Versionen sind viele Änderungen und Verbesserungen zu erwarten. In diesem Artikel haben wir die sechs existierenden Sammlungen in Python mit Beispielen und der Art und Weise erklärt, wie sie in der Sprache implementiert sind. Sie sind eines der wichtigsten Konzepte aus der Sicht eines Lernenden.

Lernen Sie die Sammlung in Python mit upGrads exklusivem Bachelor-Programm für Computeranwendungen . Dieses Programm deckt die notwendigen Fähigkeiten ab, die für den Einstieg in die IT-Branche erforderlich sind.

Wenn Sie mehr über Python und Data Science erfahren möchten, schauen Sie sich das Executive PG Program in Data Science von IIIT-B & upGrad an, das für Berufstätige entwickelt wurde und mehr als 10 Fallstudien und Projekte, praktische Workshops und Mentoring mit Branchenexperten bietet , 1-on-1 mit Mentoren aus der Branche, über 400 Stunden Lern- und Jobunterstützung bei Top-Unternehmen.

Lernen Sie Data Science-Kurse online von den besten Universitäten der Welt. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.

Warum brauchen wir das Sammlungsmodul in Python?

Python hat bereits 4 eingebaute Sammlungsdatentypen. Diese sind list, tuple, dictionary und set. Diese Datencontainer werden jedoch für allgemeine Zwecke verwendet.
Die folgenden Punkte heben die Hauptvorteile der Verwendung des Erfassungsmoduls gegenüber integrierten Datencontainern hervor.
Das Sammlungsmodul stellt die spezialisierte Version dieser Container bereit, wie etwa namedtuple, OrderedDict, defaultdict, chainmap, counter und viele mehr.
Da sie optimierter sind, erweisen sich diese Container als bessere Alternative zu den traditionellen Datencontainern wie List, Tuple und Set.
Das Sammelmodul ist effizient im Umgang mit strukturierten Daten.
Datencontainer wie namedtuple verbrauchen weniger Speicher und bieten verbesserte Operationen zum Speichern und Verwalten der Daten.

Was ist der Unterschied zwischen einem Wörterbuch und einem geordneten Wörterbuch in Python?

Python Dictionary oder „Dict“ ist eine eingebaute Datenstruktur von Python, die zum Speichern einer ungeordneten Sammlung von Elementen verwendet wird. Im Gegensatz zu anderen Python-Datenstrukturen, die einzelne Werte speichern, speichert die Dictionary-Datenstruktur Schlüssel-Wert-Paare, bei denen jeder Schlüssel eindeutig ist. Es merkt sich nicht die Einfügungsreihenfolge von Schlüssel-Wert-Paaren und iteriert durch die Schlüssel.
Andererseits verfolgt ein Ordered Dictionary oder OrderedDict die Einfügereihenfolge von Schlüssel-Wert-Paaren. Aufgrund seiner doppelt verknüpften Listenimplementierung verbraucht es auch mehr Speicher als ein normales Wörterbuch in Python. Wenn Sie denselben Schlüssel löschen und erneut einfügen, wird er an seiner ursprünglichen Position eingefügt, da sich ein OrderedDict an die Einfügungsreihenfolge erinnert.

Was sind die verschiedenen Operationen von namedtuple?

Das namedtuple in Python führt verschiedene Operationen aus. Im Folgenden finden Sie eine Liste mit einigen der häufigsten Operationen, die vom namedtuple ausgeführt werden.
1. Zugriffsoperationen: Zugriff über Index: Auf die Elemente in einem benannten Tupel kann im Gegensatz zu einem Wörterbuch über ihre Indizes zugegriffen werden. Zugriff über Schlüsselnamen: Die alternative Möglichkeit, auf die Elemente zuzugreifen, ist über ihren Schlüsselnamen.
2. Konvertierungsoperationen: make(): Diese Funktion gibt ein Namedtuple zurück. _asadict(): Diese Funktion gibt ein geordnetes Wörterbuch zurück, das aus den zugeordneten Werten erstellt wird. Verwendung des Operators „**“ (Doppelstern): Diese Funktion konvertiert ein Python-Wörterbuch in ein benanntes Tupel.
3. Zusätzliche Operationen: _fileds(): Diese Funktion gibt alle Schlüsselnamen des gegebenen namedtuple zurück. _replace(): Diese Funktion nimmt einen Schlüsselnamen als Argument und ändert die ihm zugeordneten Werte.