Як порахувати входження елемента списку?

Як за заданим елементом підрахувати його входження у списку на мові Python?

Рішення

Якщо ви хочете підрахувати тільки один елемент, використовуйте метод count:

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

**Не використовуйте цей метод, якщо потрібно порахувати декілька елементів. Виклик count у циклі вимагає окремого проходу по списку для кожного виклику count, що може бути катастрофічним для продуктивності. Якщо ви хочете порахувати всі елементи, або навіть просто декілька елементів, використовуйте Counter, як пояснено в інших відповідях.

Коментарі (1)

Якщо ви використовуєте Python 2.7 або 3 і вам потрібна кількість входжень для кожного елемента:

>>> from collections import Counter
>>> z = ['blue', 'red', 'blue', 'yellow', 'blue', 'red']
>>> Counter(z)
Counter({'blue': 3, 'red': 2, 'yellow': 1})
Коментарі (4)

list.count(x) повертає кількість разів, що зустрічається у списку x

див: http://docs.python.org/tutorial/datastructures.html#more-on-lists

Коментарі (0)