Der Container Datentyp `Counter` verhält sich beim Hinzufügen von Tupeln mit der Methode `update()` anders als Listen mit der Methode `append()`. Im folgenden Code bedarf es bei `counter2` zusätzliche eckige Klammern um die Tupel, damit die Ausgabe identisch zur Liste `data` ist.
Weshalb benötigt es beim `Counter` zusätzliche eckige Klammern, damit die Tupel auch so erhalten bleiben?
Code: Alles auswählen
from collections import Counter
from random import randint
counter1 = Counter()
counter2= Counter()
data = []
for i in range(100):
first = (randint(0, 1000))
second = (randint(0, 1000))
counter1.update((first, second)) # Tupel bleiben nicht erhalten
counter2.update([(first, second)]) # Tupel bleiben erhalten
data.append((first, second))
print("counter1:", sorted(counter1))
print("counter2:", sorted(counter2))
print("data:", sorted(data))
Atalanttore