Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Question fromkeys

3 réponses
Avatar
Jerome
Bonjour,
Existe-t'il un moyen élégant pour déclarer un dictionnaire de ce
genre d={}.fromkeys([1,2,3], []), mais où les listes vides crées sont
effectivement 3 listes différentes et non pas un pointeur vers la même
liste ?



Merci,
Jérôme

3 réponses

Avatar
Jerome
Jerome wrote:
Bonjour,
Existe-t'il un moyen élégant pour déclarer un dictionnaire de ce genre
d={}.fromkeys([1,2,3], []), mais où les listes vides crées sont
effectivement 3 listes différentes et non pas un pointeur vers la même
liste ?



Merci,
Jérôme



bon en fait j'ai trouvé :)

d = dict([ (k, []) for k in [1,2,3] ])

Avatar
Elby
Bonjour,
Existe-t'il un moyen élégant pour déclarer un dictionnaire de ce
genre d={}.fromkeys([1,2,3], []), mais où les listes vides crées so nt
effectivement 3 listes différentes et non pas un pointeur vers la mêm e
liste ?


Tu peux utiliser un générateur :
d = dict( (i, []) for i in [1,2,3])
d
{1: [], 2: [], 3: []




Que veux-tu en faire ?
L'objectif que je devine de mon côté est e classement d'éléments en
différentes catégories.
Si c'est cela, tu peux utiliser la méthode setdefault de dict ou à
partir de python2.5 utiliser un objet defaultdict qui a été ajouté au
module collections. Tu trouveras des exemples sur cette page :

http://docs.python.org/lib/defaultdict-examples.html

--
Elby



Avatar
Jerome
Elby wrote:
Bonjour,
Existe-t'il un moyen élégant pour déclarer un dictionnaire de ce
genre d={}.fromkeys([1,2,3], []), mais où les listes vides crées sont
effectivement 3 listes différentes et non pas un pointeur vers la même
liste ?


Tu peux utiliser un générateur :
d = dict( (i, []) for i in [1,2,3])
d
{1: [], 2: [], 3: []




Que veux-tu en faire ?
L'objectif que je devine de mon côté est e classement d'éléments en
différentes catégories.
Si c'est cela, tu peux utiliser la méthode setdefault de dict ou à
partir de python2.5 utiliser un objet defaultdict qui a été ajouté au
module collections. Tu trouveras des exemples sur cette page :

http://docs.python.org/lib/defaultdict-examples.html



Bonjour,
merci de cette information. Malheureusement je n'ai pas encore migré
en 2.5 donc je devrai attendre pour l'utiliser :)


Jérôme