Hoe kan ik de occurrences van een lijst item tellen?

Hoe kan ik in Python, gegeven een item, het aantal voorkomen in een lijst tellen?

Oplossing

Als je maar één item's telling wilt, gebruik dan de count methode:

>>> [1, 2, 3, 4, 1, 4, 1].count(1)
3

Gebruik dit niet als u meerdere items wilt tellen. Het aanroepen van count in een lus vereist een aparte pass over de lijst voor elke count aanroep, wat catastrofaal kan zijn voor de prestaties. Als je alle items wilt tellen, of zelfs alleen maar meerdere items, gebruik dan Counter, zoals uitgelegd in de andere antwoorden.

Commentaren (1)

Als u Python 2.7 of 3 gebruikt en u wilt voor elk element het aantal keren dat het voorkomt:

>>> from collections import Counter
>>> z = ['blue', 'red', 'blue', 'yellow', 'blue', 'red']
>>> Counter(z)
Counter({'blue': 3, 'red': 2, 'yellow': 1})
Commentaren (4)

list.count(x) geeft het aantal keren dat x in een lijst voorkomt

zie: http://docs.python.org/tutorial/datastructures.html#more-on-lists

Commentaren (0)