Was ist Python Counter?
Python Counter ist ein Container, der die Anzahl der im Container vorhandenen Elemente enthält. Der Zähler ist eine Unterklasse, die innerhalb der Wörterbuchklasse verfügbar ist.
Der Zähler ist eine Unterklasse, die innerhalb der Wörterbuchklasse verfügbar ist. Mit dem Python Counter-Tool können Sie die Schlüssel-Wert-Paare in einem Objekt zählen, das auch als Hash-Tabellenobjekt bezeichnet wird.
Warum Python Counter verwenden?
Hier sind die Hauptgründe für die Verwendung von Python 3 Counter:
- Der Zähler enthält die Daten in einer ungeordneten Sammlung, genau wie Hashtabellenobjekte. Die Elemente hier repräsentieren die Schlüssel und die Anzahl als Werte.
- Sie können die Elemente in einer iterierbaren Liste zählen.
- Arithmetische Operationen wie Addition, Subtraktion, Schnittmenge und Vereinigung können problemlos an einem Zähler ausgeführt werden.
- Ein Zähler kann auch Elemente von einem anderen Zähler zählen
In diesem Python-Tutorial lernen Sie:
- Was ist Python Counter?
- Warum Python Counter verwenden?
- Einführung in Python Counter
- Zähler mit String
- Zähler mit Liste
- Zähler mit Wörterbuch
- Zähler mit Tupel
- Zugreifen auf, Initialisieren und Aktualisieren von Zählern
- Löschen eines Elements aus dem Zähler
- Arithmetische Operation auf Python Counter
- Auf Python Counter verfügbare Methoden
- Neuzuweisen von Zählungen in Python
- Abrufen und Festlegen der Anzahl der Elemente mithilfe des Zählers
Einführung in Python Counter
Python Counter nimmt eine Liste, ein Tupel, ein Wörterbuch und eine Zeichenfolge auf, die alle iterierbare Objekte sind, und gibt Ihnen eine Ausgabe, die die Anzahl der einzelnen Elemente enthält.
Syntax:
Counter(list)
Angenommen, Sie haben eine folgende Liste:
list1 = ['x','y','z','x','x','x','y', 'z']
Die Liste enthält die Elemente x, y und z. Wenn Sie in dieser Liste den Zähler verwenden, wird gezählt, wie oft x, y und z vorhanden sind. Die Ausgabe, wenn der Zähler in Liste1 verwendet wird, sollte ungefähr so aussehen:
Counter({'x': 4, 'y': 2, 'z': 2})
Wir haben also die Zählung von x als 4, y als 2 und z als 2.
Um Counter verwenden zu können, müssen Sie es zuerst importieren, wie im folgenden Beispiel gezeigt:
from collections import Counter
Hier ist ein einfaches Beispiel, das die Funktionsweise des Zählermoduls zeigt.
from collections import Counterlist1 = ['x','y','z','x','x','x','y', 'z']print(Counter(list1))
Ausgabe:
Counter({'x': 4, 'y': 2, 'z': 2})
Zähler mit String
In Python ist alles ein Objekt und der String auch ein Objekt. Python-Zeichenfolgen können einfach durch Einfügen von Zeichen in doppelte Anführungszeichen erstellt werden. Python unterstützt keinen Zeichentyp. Diese werden als Zeichenfolgen der Länge eins behandelt, die auch als Teilzeichenfolge betrachtet werden.
Im folgenden Beispiel wird eine Zeichenfolge an Counter übergeben. Es gibt das Wörterbuchformat mit dem Schlüssel / Wert-Paar zurück, wobei der Schlüssel das Element und der Wert die Anzahl ist. Es betrachtet auch Leerzeichen als Element und gibt die Anzahl der Leerzeichen in der Zeichenfolge an.
Beispiel:
from collections import Countermy_str = "Welcome to Guru99 Tutorials!"print(Counter(my_str))
Ausgabe:
Counter({'o': 3, ' ': 3, 'u': 3, 'e': 2, 'l': 2, 't': 2, 'r': 2, '9': 2, 'W': 1,'c': 1, 'm': 1, 'G': 1, 'T': 1, 'i': 1, 'a': 1, 's': 1, '!': 1})
Zähler mit Liste
Eine Liste ist ein iterierbares Objekt, dessen Elemente in eckigen Klammern stehen.
Die Elemente in der Liste werden, wenn sie dem Zähler übergeben werden, in Hashtabellenobjekte konvertiert, wobei die Elemente zu Schlüsseln werden und die Werte die Anzahl der Elemente aus der angegebenen Liste sind.
Zum Beispiel ['x', 'y', 'z', 'x', 'x', 'x', 'y', 'z']. Sobald Sie der Liste den Zähler geben, erhalten Sie die Anzahl der einzelnen Elemente in der Liste.
from collections import Counterlist1 = ['x','y','z','x','x','x','y','z']print(Counter(list1))
Ausgabe:
Counter({'x': 4, 'y': 2, 'z': 2})
Zähler mit Wörterbuch
Ein Wörterbuch enthält Elemente als Schlüssel / Wert-Paar und sie werden in geschweifte Klammern geschrieben.
Sobald das Wörterbuch dem Zähler übergeben wurde, wird es in ein Hashtabellenobjekt konvertiert, in dem die Elemente zu Schlüsseln werden und die Werte die Anzahl der Elemente aus dem angegebenen Wörterbuch sind.
Zum Beispiel: {'x': 4, 'y': 2, 'z': 2, 'z': 2}. Die Zählerfunktion versucht, die Anzahl der einzelnen Schlüssel im angegebenen Wörterbuch zu ermitteln.
from collections import Counterdict1 = {'x': 4, 'y': 2, 'z': 2, 'z': 2}print(Counter(dict1))
Ausgabe:
Counter({'x': 4, 'y': 2, 'z': 2})
Zähler mit Tupel
Tupel ist eine Sammlung von Objekten, die durch Kommas in runden Klammern getrennt sind. Der Zähler gibt Ihnen die Anzahl der Elemente im angegebenen Tupel an.
Sobald das Tupel dem Zähler übergeben wurde, wird es in ein Hashtabellenobjekt konvertiert, in dem die Elemente zu Schlüsseln werden und die Werte die Anzahl der Elemente aus dem angegebenen Tupel sind.
from collections import Countertuple1 = ('x','y','z','x','x','x','y','z')print(Counter(tuple1))
Ausgabe:
Counter({'x': 4, 'y': 2, 'z': 2})
Zugreifen auf, Initialisieren und Aktualisieren von Zählern
Zähler initialisieren
Ein Zähler kann durch Übergeben eines Zeichenfolgenwerts, einer Liste, eines Wörterbuchs oder eines Tupels wie unten gezeigt initialisiert werden:
from collections import Counterprint(Counter("Welcome to Guru99 Tutorials!")) #using stringprint(Counter(['x','y','z','x','x','x','y', 'z'])) #using listprint(Counter({'x': 4, 'y': 2, 'z': 2})) #using dictionaryprint(Counter(('x','y','z','x','x','x','y', 'z'))) #using tuple
Sie können einen leeren Zähler auch wie unten gezeigt initialisieren:
from collections import Counter_count = Counter()
Zähler aktualisieren
Sie können dem Zähler Werte hinzufügen, indem Sie die update () -Methode verwenden.
_count.update('Welcome to Guru99 Tutorials!')
Der endgültige Code lautet:
from collections import Counter_count = Counter()_count.update('Welcome to Guru99 Tutorials!')print(_count)
Die Ausgabe ist:
Counter({'o': 3, ' ': 3, 'u': 3, 'e': 2, 'l': 2, 't': 2, 'r': 2, '9': 2, 'W': 1,'c': 1, 'm': 1, 'G': 1, 'T': 1, 'i': 1, 'a': 1, 's': 1, '!': 1})
Zugriff auf den Zähler
Um die Werte vom Zähler abzurufen, haben Sie folgende Möglichkeiten:
from collections import Counter_count = Counter()_count.update('Welcome to Guru99 Tutorials!')print('%s : %d' % ('u', _count['u']))print('\n')for char in 'Guru':print('%s : %d' % (char, _count[char]))
Ausgabe:
u : 3G : 1u : 3r : 2u : 3
Löschen eines Elements aus dem Zähler
Um ein Element aus Counter zu löschen, können Sie del verwenden, wie im folgenden Beispiel gezeigt:
Beispiel:
from collections import Counterdict1 = {'x': 4, 'y': 2, 'z': 2}del dict1["x"]print(Counter(dict1))
Ausgabe:
Counter({'y': 2, 'z': 2})
Arithmetische Operation auf Python Counter
Arithmetische Operationen wie Addition, Subtraktion, Schnittmenge und Vereinigung können an einem Zähler ausgeführt werden, wie im folgenden Beispiel gezeigt:
Beispiel:
from collections import Countercounter1 = Counter({'x': 4, 'y': 2, 'z': -2})counter2 = Counter({'x1': -12, 'y': 5, 'z':4 })#Additioncounter3 = counter1 + counter2 # only the values that are positive will be returned.print(counter3)#Subtractioncounter4 = counter1 - counter2 # all -ve numbers are excluded.For example z will be z = -2-4=-6, since it is -ve value it is not shown in the outputprint(counter4)#Intersectioncounter5 = counter1 & counter2 # it will give all common positive minimum values from counter1 and counter2print(counter5)#Unioncounter6 = counter1 | counter2 # it will give positive max values from counter1 and counter2print(counter6)
Ausgabe:
Counter({'y': 7, 'x': 4, 'z': 2})Counter({'x1': 12, 'x': 4})Counter({'y': 2})Counter({'y': 5, 'x': 4, 'z': 4})
Auf Python Counter verfügbare Methoden
Mit Counter stehen einige wichtige Methoden zur Verfügung. Hier ist die Liste derselben:
- elements () : Diese Methode gibt Ihnen alle Elemente mit count> 0 zurück. Elemente mit 0 oder -1 werden nicht zurückgegeben.
- most_common (Wert): Diese Methode gibt die häufigsten Elemente aus der Zählerliste zurück .
- subtrahieren (): Mit dieser Methode werden die Elemente von einem anderen Zähler abgezogen .
- update (): Mit dieser Methode werden die Elemente eines anderen Zählers aktualisiert.
Beispiel: elements ()
from collections import Countercounter1 = Counter({'x': 5, 'y': 2, 'z': -2, 'x1':0})_elements = counter1.elements() # will give you all elements with positive value and count>0for a in _elements:print(a)
Ausgabe:
xxxxxyy
Beispiel: most_common (Wert)
from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})common_element = counter1.most_common(2) # The dictionary will be sorted as per the most common element first followed by next.print(common_element)common_element1 = counter1.most_common() # if the value is not given to most_common , it will sort the dictionary and give the most common elements from the start.The last element will be the least common element.print(common_element1)
Ausgabe:
[('y', 12), ('x', 5)][('y', 12), ('x', 5), ('x1', 0), ('z', -2)]
Beispiel: subtrahieren ()
from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})counter2 = Counter({'x': 2, 'y':5})counter1.subtract(counter2)print(counter1)
Ausgabe:
Counter({'y': 7, 'x': 3, 'x1': 0, 'z': -2})
Beispiel: update ()
from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})counter2 = Counter({'x': 2, 'y':5})counter1.update(counter2)print(counter1)
Ausgabe:
Counter({'y': 17, 'x': 7, 'x1': 0, 'z': -2})
Neuzuweisen von Zählungen in Python
Sie können die Anzahl der Zähler wie unten gezeigt neu zuweisen:
Angenommen, Sie haben ein Wörterbuch wie folgt: {'x': 5, 'y': 12, 'z': -2, 'x1': 0}
Sie können die Anzahl der Elemente wie folgt ändern:
from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})counter1['y'] = 20print(counter1)
Ausgabe: Nach der Ausführung sehen Sie, dass die Anzahl y von 12 auf 20 geändert wird
Counter({'y': 20, 'x': 5, 'x1': 0, 'z': -2})
Abrufen und Festlegen der Anzahl der Elemente mithilfe des Zählers
Um die Anzahl eines Elements mit Counter zu ermitteln, gehen Sie wie folgt vor:
from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})print(counter1['y']) # this will give you the count of element 'y'
Ausgabe:
12
Um die Anzahl der Elemente festzulegen, gehen Sie wie folgt vor:
from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})print(counter1['y'])counter1['y'] = 20counter1['y1'] = 10print(counter1)
Ausgabe:
12Counter({'y': 20, 'y1': 10, 'x': 5, 'x1': 0, 'z': -2})
Zusammenfassung:
- Der Zähler ist ein Container, der die Anzahl der im Container vorhandenen Elemente enthält.
- Counter ist eine Unterklasse, die innerhalb der Dictionary-Klasse verfügbar ist.
- Mit dem Python Counter-Tool können Sie die Schlüssel-Wert-Paare in einem Objekt zählen, das auch als Hashtable-Objekt bezeichnet wird.
- Der Zähler enthält die Daten in einer ungeordneten Sammlung, genau wie Hashtabellenobjekte. Die Elemente hier repräsentieren die Schlüssel und die Anzahl als Werte.
- Sie können die Elemente in einer iterierbaren Liste zählen.
- Arithmetische Operationen wie Addition, Subtraktion, Schnittmenge und Vereinigung können problemlos an einem Zähler ausgeführt werden.
- Ein Zähler kann auch Elemente von einem anderen Zähler zählen.
- Die wichtigsten auf einem Zähler verfügbaren Methoden sind elements (), most_common (value), subtract () und update ().
- Ein Zähler kann für eine Zeichenfolge, eine Liste, ein Wörterbuch und ein Tupel verwendet werden.