Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Python

Python-Zähler in Sammlungen mit Beispiel

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 Dictionary-Klasse 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:

In diesem Python-Tutorial lernen Sie:

Einführung in Python Counter

Python Counter nimmt als Eingabe eine Liste, ein Tupel, ein Wörterbuch, eine Zeichenfolge auf, die alle iterierbare Objekte sind, und gibt Ihnen eine Ausgabe, die die Anzahl der einzelnen Elemente enthält.

Syntax:

Counter(list)

Stellen Sie sich vor, Sie haben eine folgende Liste:

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

Die Liste hat die Elemente x , y und z. Wenn Sie Counter auf dieser Liste verwenden, wird gezählt, wie oft x , y und z vorhanden sind. Die Ausgabe, wenn der Zähler auf list1 verwendet wird, sollte ungefähr 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 Zählermoduls zeigt.

from collections import Counter
list1 = ['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 String ist auch ein Objekt. Eine Python-Zeichenfolge kann einfach erstellt werden, indem Zeichen in doppelte Anführungszeichen gesetzt 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 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.

Beispiel:

from collections import Counter
my_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 an den Zähler übergeben werden, in Hashtable-Objekte 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 gegeben haben, gibt er Ihnen die Anzahl jedes Elements in der Liste.

from collections import Counter
list1 = ['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 hat Elemente als Schlüssel/Wert-Paare, und sie werden in geschweiften Klammern geschrieben.

Sobald das Wörterbuch an den Zähler übergeben wurde, wird es in ein Hashtable-Objekt umgewandelt, 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 Counter-Funktion versucht, die Anzahl der einzelnen Schlüssel im angegebenen Wörterbuch zu finden.

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

Ausgabe:

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

Zähler mit Tuple

Tuple ist eine Sammlung von Objekten, die durch Kommas in runden Klammern getrennt sind. Counter gibt Ihnen die Anzahl der einzelnen Elemente im gegebenen Tupel an.

Sobald das Tupel an den Zähler übergeben wurde, wird es in ein Hashtable-Objekt konvertiert, in dem die Elemente zu Schlüsseln werden und die Werte die Anzahl der Elemente aus dem angegebenen Tupel sind.

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

Ausgabe:

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

Zugriff auf, Initialisierung und Aktualisierung von Zählern

Initialisierungszähler

Ein Zähler kann initialisiert werden, indem ein Zeichenfolgewert, eine Liste, ein Wörterbuch oder ein Tupel wie unten gezeigt übergeben wird:

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 wie unten gezeigt initialisieren:

from collections import Counter
_count = Counter()

Aktualisierungszähler

Sie können dem Zähler Werte hinzufügen, indem Sie die Methode update() verwenden.

_count.update('Welcome to Guru99 Tutorials!')

Der letzte Code ist:

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

Zugriffszähler

Um die Werte vom Zähler abzurufen, 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]))

Ausgabe:

u : 3

G : 1
u : 3
r : 2
u : 3

Ein Element aus dem Zähler löschen

Um ein Element aus Counter zu löschen, können Sie del verwenden, wie im folgenden Beispiel gezeigt:

Beispiel:

from collections import Counter
dict1 =  {'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 auf einem Zähler ausgeführt werden, wie im folgenden Beispiel gezeigt:

Beispiel:

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)

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

Es gibt einige wichtige Methoden, die mit Counter verfügbar sind, hier ist die Liste derselben:

Beispiel:Elemente()

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)

Ausgabe:

x
x
x
x
x
y
y

Beispiel:most_common(Wert)

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)

Ausgabe:

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

Beispiel:subtrahieren()

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)

Ausgabe:

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)

Ausgabe:

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

Zählwerte in Python neu zuweisen

Sie können Zählerstände wie unten gezeigt neu zuweisen:

Stellen Sie sich vor, 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 Counter
counter1 =  Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})

counter1['y'] = 20

print(counter1)

Ausgabe:Nach der Ausführung sehen Sie, dass der y-Zähler von 12 auf 20 geändert wurde

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

Lesen und setzen Sie die Anzahl der Elemente mit Counter

Um die Anzahl eines Elements mit Counter zu erhalten, 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'

Ausgabe:

12

Um die Anzahl der Elemente 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)

Ausgabe:

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

Zusammenfassung:


Python

  1. Python String strip() Funktion mit BEISPIEL
  2. Python String count() mit BEISPIELE
  3. Python String format() Erklären Sie mit BEISPIELE
  4. Länge der Python-Zeichenfolge | len() Methode Beispiel
  5. Python String find() Methode mit Beispielen
  6. Python-Lambda-Funktionen mit BEISPIELE
  7. Python-Funktion round() mit BEISPIELE
  8. Python map() Funktion mit BEISPIELE
  9. Python Timeit() mit Beispielen
  10. Python List count() mit BEISPIELE