En Python, un hachage (pour être exact, une table de hachage) est appelé un dictionnaire.
Lorsque vous utilisez la fonction de dictionnaire pour compter le nombre d'occurrences de chaque KW, Counter et [defaultdict](http Il est bon d'utiliser une sous-classe du dictionnaire (: //docs.python.jp/2/library/collections.html#collections.defaultdict). Par exemple, si Counter et defaultdict ne sont pas utilisés, une description redondante est requise comme indiqué ci-dessous.
sample1.py
# -*- coding: UTF-8 -*-
#Initialisation des dictionnaires
count_by_kw = {}
#KeyError
count_by_kw['apple'] += 1
#C'est redondant, mais vous devez écrire:
if count_by_kw.get('apple'):
count_by_kw['apple'] += 1
else:
count_by_kw['apple'] = 1
Si vous utilisez Counter, vous pouvez simplement le décrire comme suit. Vous pouvez également utiliser la méthode most_common pour récupérer les clés par ordre décroissant de valeur.
sample2.py
# -*- coding: UTF-8 -*-
from collections import Counter
#Initialisation des dictionnaires
count_by_kw = Counter()
#Peut être une simple description
count_by_kw['apple'] += 1
count_by_kw['apple'] += 1
count_by_kw['apple'] += 1
count_by_kw['peach'] += 1
count_by_kw['orange'] += 1
count_by_kw['orange'] += 1
#Par ordre décroissant de valeur (pomme-> orange ->Sortez la clé de la pêche)
for kw, count in count_by_kw.most_common():
print(kw, count)
De plus, en combinant Counter et defaultdict, il est possible de créer un dictionnaire de dictionnaires. Bien sûr, vous pouvez également utiliser la méthode most_common.
sample3.py
# -*- coding: UTF-8 -*-
from collections import Counter
from collections import defaultdict
#Initialisation des dictionnaires
count_by_kw = defaultdict(Counter)
#Dictionnaire dictionnaire
count_by_kw['category1']['apple'] += 1
count_by_kw['category1']['apple'] += 1
count_by_kw['category1']['orange'] += 1
#Extraire la clé et la valeur du dictionnaire externe, puis extraire la clé et la valeur du dictionnaire interne
for kw1, counter in count_by_kw.items():
for kw2, count in counter.most_common():
print(kw1, kw2, count)
Recommended Posts