Mam listę słów w słowniku o wartości = powtórzenie słowa kluczowego, ale chcę tylko listę wyrazistych słów, więc chciałem policzyć liczbę słów kluczowych. Czy istnieje sposób na policzenie liczby słów kluczowych lub jest inny sposób, w jaki powinienem szukać odrębnych słów?
234
len(yourdict.keys())
ilen(yourdict)
O (1). Ten ostatni jest nieco szybszy. Zobacz moje testy poniżej.len(yourdict.values())
Liczbę różnych słów (tzn. Liczbę wpisów w słowniku) można znaleźć za pomocą
len()
funkcji.Aby uzyskać wszystkie odrębne słowa (tj. Klucze), użyj
.keys()
metody.źródło
Wywoływanie
len()
bezpośrednio ze słownika działa i jest szybsze niż budowanie iteratorad.keys()
i wywoływanielen()
go, ale szybkość jednego z nich będzie nieznaczna w porównaniu z tym, co robi Twój program.źródło
Jeśli pytanie dotyczy zliczenia liczby słów kluczowych, poleciłbym coś takiego
w głównej funkcji mają coś, co zapętla dane i przekazuje wartości do funkcji countoccrenrences
Kod wyjściowy
źródło
countoccurrences()
aby tak byłocount_occurrences()
. Ponadto, jeśli importcollections.Counter
, jest znacznie lepszym sposobem, aby to zrobić:from collections import Counter; store = Counter(); for data in list: store[list] += 1
.Wprowadzono pewne modyfikacje w opublikowanej odpowiedzi UnderWaterKremlin, aby uczynić ją python3 proof. Zaskakujący wynik poniżej jako odpowiedź.
Specyfikacja systemu:
Wynik:
1) = 37,0100378
2) = 37,002148899999995
Wygląda więc na to, że
len(d.keys())
obecnie jest szybszy niż zwykłe używanielen()
.źródło