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 ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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] ])
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 ?
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
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 :
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 :
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 :
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 :
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
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 :
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 :