Python Zähler in Sammlungen mit Beispiel

Was ist Python Schalter?

Python Counter ist ein Container, der die Anzahl aller 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 Dictionary-Klasse verfügbar ist. Mit dem Python Mit dem Zählertool können Sie die Schlüssel-Wert-Paare in einem Objekt zählen, das auch als Hashtabellenobjekt bezeichnet wird.

Warum Python Schalter?

Hier sind die wichtigsten Gründe für den Einsatz Python 3 Zähler:

  • Der Counter speichert die Daten in einer ungeordneten Sammlung, genau wie Hashtable-Objekte. Die Elemente stellen hier die Schlüssel und die Anzahl als Werte dar.
  • Es ermöglicht Ihnen, die Elemente in einer iterierbaren Liste zu zählen.
  • Arithmetische Operationen wie Addition, Subtraktion, Schnittmenge und Vereinigung können problemlos auf einem Zähler ausgeführt werden.
  • Ein Zähler kann auch Elemente eines anderen Zählers zählen

Einführung in die Python Counter

Python Der Zähler akzeptiert als Eingabe eine Liste, ein Tupel, ein Wörterbuch oder eine Zeichenfolge (alles iterierbare Objekte) und gibt Ihnen als Ausgabe die Anzahl aller Elemente an.

Syntax:

Counter(list)

Nehmen Sie an, Sie haben die folgende Liste:

list1 = ['x','y','z','x','x','x','y', 'z']

Die Liste enthält die Elemente x, y und z. Wenn Sie Counter für diese Liste verwenden, wird gezählt, wie oft x, y und z vorhanden sind. Wenn der Zähler auf Liste1 verwendet wird, sollte die Ausgabe etwa so aussehen:

Counter({'x': 4, 'y': 2, 'z': 2})

Wir haben also die Anzahl von x als 4, y als 2 und z als 2.

Um Counter nutzen zu können, müssen wir ihn zuerst importieren, wie im folgenden Beispiel gezeigt:

from collections import Counter

Hier ist ein einfaches Beispiel, das die Funktionsweise des Counter-Moduls zeigt.

from collections import Counter
list1 = ['x','y','z','x','x','x','y', 'z']
print(Counter(list1))

Ausgang:

Counter({'x': 4, 'y': 2, 'z': 2})

Zähler mit String

In Python, alles ist ein Objekt und Zeichenfolgen sind auch ein Objekt. Python Schnur kann einfach durch Einschließen von Zeichen in Anführungszeichen erstellt werden. Python unterstützt keinen Zeichentyp. Diese werden als Zeichenfolgen der Länge eins behandelt und auch als Teilzeichenfolge betrachtet.

Im folgenden Beispiel wird eine Zeichenfolge an Counter übergeben. Es gibt das Wörterbuchformat mit einem 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.

Ejemplo:

from collections import Counter
my_str = "Welcome to Guru99 Tutorials!"
print(Counter(my_str))

Ausgang:

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 darstellen.

Zum Beispiel ['x','y','z','x','x','x','y','z']. Sobald Sie der Liste den Zähler geben, erhalten Sie die Anzahl jedes Elements in der Liste.

from collections import Counter
list1 = ['x','y','z','x','x','x','y','z']
print(Counter(list1))

Ausgang:

Counter({'x': 4, 'y': 2, 'z': 2})

Zähler mit Wörterbuch

Ein Wörterbuch hat Elemente als Schlüssel/Wert-Paare und diese werden in geschweifte Klammern geschrieben.

Sobald das Wörterbuch dem Zähler übergeben wird, wird es in Hashtabellenobjekte konvertiert, wobei die Elemente zu Schlüsseln werden und die Werte die Anzahl der Elemente aus dem angegebenen Wörterbuch darstellen.

Zum Beispiel: {'x': 4, 'y': 2, 'z': 2, 'z': 2}. Die Counter-Funktion versucht, die Anzahl jedes Schlüssels im angegebenen Wörterbuch zu ermitteln.

from collections import Counter
dict1 =  {'x': 4, 'y': 2, 'z': 2, 'z': 2}
print(Counter(dict1))

Ausgang:

Counter({'x': 4, 'y': 2, 'z': 2})

Zähler mit Tupel

Ein Tupel ist eine Sammlung von Objekten, die durch Kommas in runden Klammern getrennt sind. Der Zähler gibt die Anzahl der einzelnen Elemente im angegebenen Tupel an.

Sobald das Tupel dem Zähler übergeben wird, wird es in ein Hashtabellenobjekt umgewandelt, in dem die Elemente zu Schlüsseln werden und die Werte die Anzahl der Elemente aus dem angegebenen Tupel darstellen.

from collections import Counter
tuple1 = ('x','y','z','x','x','x','y','z')
print(Counter(tuple1))

Ausgang:

Counter({'x': 4, 'y': 2, 'z': 2})

Auf Zähler zugreifen, sie initialisieren und aktualisieren

Zähler wird initialisiert

Ein Zähler kann durch Übergabe eines Zeichenfolgenwerts, einer Liste, eines Wörterbuchs oder eines Tupels initialisiert werden, wie unten gezeigt:

from collections import Counter
print(Counter("Welcome to Guru99 Tutorials!"))   #using string
print(Counter(['x','y','z','x','x','x','y', 'z'])) #using list
print(Counter({'x': 4, 'y': 2, 'z': 2})) #using dictionary
print(Counter(('x','y','z','x','x','x','y', 'z'))) #using tuple

Sie können auch einen leeren Zähler initialisieren, wie unten gezeigt:

from collections import Counter
_count = Counter()

Zähler wird aktualisiert

Sie können dem Zähler Werte hinzufügen, indem Sie die Methode update() 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 zu erhalten, können Sie wie folgt vorgehen:

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]))

Ausgang:

u : 3

G : 1
u : 3
r : 2
u : 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:

Ejemplo:

from collections import Counter
dict1 =  {'x': 4, 'y': 2, 'z': 2}
del dict1["x"]
print(Counter(dict1))

Ausgang:

Counter({'y': 2, 'z': 2})

Arithmetische Operation auf Python Counter

Arithmetische Operationen wie Addition, Subtraktion, Schnittmenge und Vereinigung können auf einem Zähler durchgeführt werden, wie im folgenden Beispiel gezeigt:

Ejemplo:

from collections import Counter
counter1 =  Counter({'x': 4, 'y': 2, 'z': -2})

counter2 = Counter({'x1': -12, 'y': 5, 'z':4 })

#Addition
counter3 = counter1 + counter2 # only the values that are positive will be returned.

print(counter3)

#Subtraction
counter4 = 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 output

print(counter4)

#Intersection
counter5 = counter1 & counter2 # it will give all common positive minimum values from counter1 and counter2

print(counter5)

#Union
counter6 = counter1 | counter2 # it will give positive max values from counter1 and counter2

print(counter6)

Ausgang:

Counter({'y': 7, 'x': 4, 'z': 2})
Counter({'x1': 12, 'x': 4})
Counter({'y': 2})
Counter({'y': 5, 'x': 4, 'z': 4})

Verfügbare Methoden auf Python Counter

Mit Counter stehen einige wichtige Methoden zur Verfügung. Hier ist die Liste derselben:

  • Elemente() : Diese Methode gibt Ihnen alle Elemente mit einer Anzahl >0 zurück. Elemente mit der Anzahl 0 oder -1 werden nicht zurückgegeben.
  • most_common(value): Diese Methode gibt Ihnen die häufigsten Elemente aus der Zählerliste zurück.
  • subtrahieren(): Diese Methode wird verwendet, um die Elemente von einem anderen Zähler abzuziehen.
  • aktualisieren(): Diese Methode wird verwendet, um die Elemente eines anderen Zählers zu aktualisieren.

Beispiel: elements()

from collections import Counter
counter1 =  Counter({'x': 5, 'y': 2, 'z': -2, 'x1':0})

_elements = counter1.elements() # will give you all elements with positive value and count>0
for a in _elements:
    print(a)

Ausgang:

x
x
x
x
x
y
y

Beispiel: most_common(value)

from collections import Counter
counter1 =  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)

Ausgang:

 [('y', 12), ('x', 5)]
[('y', 12), ('x', 5), ('x1', 0), ('z', -2)]

Beispiel: subtract()

from collections import Counter
counter1 =  Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})
counter2 = Counter({'x': 2, 'y':5})

counter1.subtract(counter2)
print(counter1)

Ausgang:

Counter({'y': 7, 'x': 3, 'x1': 0, 'z': -2})

Beispiel: update()

from collections import Counter
counter1 =  Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})
counter2 = Counter({'x': 2, 'y':5})
counter1.update(counter2)
print(counter1)

Ausgang:

Counter({'y': 17, 'x': 7, 'x1': 0, 'z': -2})

Neuzuweisung von Counts in Python

Sie können die Anzahl der Zähler wie unten gezeigt neu zuweisen:

Stellen Sie sich vor, Sie haben ein Wörterbuch als: {'x': 5, 'y': 12, 'z': -2, 'x1':0}

Sie können die Anzahl des Elements wie unten gezeigt ändern:

from collections import Counter
counter1 =  Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})

counter1['y'] = 20

print(counter1)

Ausgang: Nach der Ausführung werden Sie sehen, dass sich der Y-Zähler von 12 auf 20 geändert hat

Counter({'y': 20, 'x': 5, 'x1': 0, 'z': -2})

Rufen Sie die Anzahl der Elemente mithilfe von Counter ab und legen Sie sie fest

Um die Anzahl eines Elements mithilfe von Counter zu ermitteln, können Sie wie folgt vorgehen:

from collections import Counter
counter1 =  Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})
print(counter1['y']) # this will give you the count of element 'y'

Ausgang:

12

Um die Anzahl des Elements festzulegen, können Sie wie folgt vorgehen:

from collections import Counter
counter1 =  Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})

print(counter1['y'])

counter1['y'] = 20
counter1['y1'] = 10

print(counter1)

Ausgang:

12
Counter({'y': 20, 'y1': 10, 'x': 5, 'x1': 0, 'z': -2})

Zusammenfassung

  • Counter ist ein Container, der die Anzahl aller im Container vorhandenen Elemente speichert.
  • Counter ist eine Unterklasse, die innerhalb der Wörterbuchklasse verfügbar ist.
  • Verwendung der Python Mit dem Zählertool können Sie die Schlüssel-Wert-Paare in einem Objekt, auch Hashtable-Objekt genannt, zählen.
  • Der Counter speichert die Daten in einer ungeordneten Sammlung, genau wie Hashtable-Objekte. Die Elemente stellen hier die Schlüssel und die Anzahl als Werte dar.
  • Es ermöglicht Ihnen, die Elemente in einer iterierbaren Liste zu zählen.
  • Arithmetische Operationen wie Addition, Subtraktion, Schnittmenge und Vereinigung können problemlos auf einem Zähler ausgeführt werden.
  • Ein Zähler kann auch Elemente eines anderen Zählers 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.