@ Introducing Python: Modern Computing in Simple Packages by Bill Lubanovic (No. 3136 / 12833)
Le dict par défaut a été introduit. Il semble initialiser le contenu du dictionnaire en donnant une fonction comme argument.
référence: Python »Documents» Bibliothèque standard Python »8 types de données» 8.3.4.1. Exemple d'utilisation de defaultdict
J'ai essayé.
http://ideone.com/cg9rZj
import collections
word_counter = collections.defaultdict(int)
for word in ['daemon', 'demon', 'demoon', 'demon', 'demon', 'daemon']:
word_counter[word] += 1
print(word_counter)
run
defaultdict(<class 'int'>, {'demoon': 1, 'daemon': 2, 'demon': 3})
Le même processus peut être effectué en utilisant Counter ()
.
@ 3184
J'ai essayé. http://ideone.com/CSKsOO
import collections
wordlist = ['daemon', 'demon', 'demoon', 'demon', 'demon', 'daemon']
word_counter = collections.Counter(wordlist)
print(word_counter)
run
Counter({'demon': 3, 'daemon': 2, 'demoon': 1})
Il existe un exemple d'utilisation de defaultdict pour regrouper une séquence de paires (clé, valeur) dans un dictionnaire de listes.
http://ideone.com/FryteV
import collections
seq = [('7of9', 47), ('Janeway', 314), ('Kim', 2718), ('7of9', 6022)]
dct = collections.defaultdict(list)
print(seq)
for key, value in seq:
dct[key].append(value)
print(dct.items())
run
[('7of9', 47), ('Janeway', 314), ('Kim', 2718), ('7of9', 6022)]
dict_items([('Janeway', [314]), ('7of9', [47, 6022]), ('Kim', [2718])])
Recommended Posts