Как мога да преброя появата на даден елемент в списък в Python?
Ако искате да преброите само един елемент, използвайте метода count
:
>>> [1, 2, 3, 4, 1, 4, 1].count(1)
3
**Не използвайте този метод, ако искате да преброите няколко елемента. Извикването на count
в цикъл изисква отделно преминаване през списъка за всяко извикване на count
, което може да бъде катастрофално за производителността. Ако искате да преброите всички елементи или дори само няколко елемента, използвайте Counter
, както е обяснено в другите отговори.
Ако използвате Python 2.7 или 3 и желаете да получите броя на срещите за всеки елемент:
>>> from collections import Counter
>>> z = ['blue', 'red', 'blue', 'yellow', 'blue', 'red']
>>> Counter(z)
Counter({'blue': 3, 'red': 2, 'yellow': 1})
list.count(x)
връща броя пъти, когато x
се появява в списъка
вижте: http://docs.python.org/tutorial/datastructures.html#more-on-lists