Miten voin laskea kohteen esiintymiä luettelossa Pythonissa, kun on annettu kohde?
Jos haluat vain yhden kohteen lukumäärän, käytä count
-metodia:
>>> [1, 2, 3, 4, 1, 4, 1].count(1)
3
Älä'älä käytä tätä, jos haluat laskea useita kohteita. count
:n kutsuminen silmukassa vaatii erillisen listan läpikäynnin jokaista count
-kutsua varten, mikä voi olla katastrofaalista suorituskyvyn kannalta. Jos haluat laskea kaikki kohteet tai jopa vain useita kohteita, käytä Counter
, kuten muissa vastauksissa selitetään.
Jos käytät Python 2.7:ää tai 3:aa ja haluat kunkin elementin esiintymien määrän:
>>> from collections import Counter
>>> z = ['blue', 'red', 'blue', 'yellow', 'blue', 'red']
>>> Counter(z)
Counter({'blue': 3, 'red': 2, 'yellow': 1})
list.count(x)
palauttaa kuinka monta kertaa x
esiintyy listassa.
katso: http://docs.python.org/tutorial/datastructures.html#more-on-lists