94 votes

Comment construire un defaultdict à partir d'un dictionnaire ?

Si j'ai d=dict(zip(range(1,10),range(50,61))) comment puis-je construire un collections.defaultdict partir des dict ?

Le seul argument que defaultdict semble prendre est la fonction d'usine, vais-je devoir initialiser puis parcourir le d et mettre à jour le defaultdict ?

6voto

muhsin mohammed Points 41

Vous pouvez construire un defaultdict à partir de dict, en passant le dict comme deuxième argument.

 from collections import defaultdict

d1 = {'foo': 17}
d2 = defaultdict(int, d1)

print(d2['foo'])  ## should print 17
print(d2['bar'])  ## should print 1 (default int val )

0voto

hoi ja Points 43

Vous pouvez créer un defaultdict avec un dictionnaire en utilisant un callable.

 from collections import defaultdict

def dict_():
    return {'foo': 1}

defaultdict_with_dict = defaultdict(dict_)

-2voto

Prem Points 1

defaultdict est une méthode des collections qui ne renvoie pas d'erreur de clé lorsque l'élément n'est pas présent.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X