Question fromkeys

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jerome
Le #623263
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] ])

Elby
Le #622701
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



Jerome
Le #627978
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




Publicité
Poster une réponse
Anonyme