Python: Ajouter des éléments à une dict de liste ou de tableau associatif
Im essayant d'ajouter des éléments à un dict liste (tableau associatif), mais à chaque fois c'boucles, les tableaux remplace l'élément précédent. Donc, je viens de finir avec un tableau de taille 1 avec le dernier élément de lecture. J'ai vérifier que les clés SONT en train de changer à chaque fois.
array=[]
for line in open(file):
result=prog.match(line)
array={result.group(1) : result.group(2)}
toute aide serait super, merci =]
OriginalL'auteur nubme | 2010-10-22
Vous devez vous connecter pour publier un commentaire.
Votre solution est incorrecte; la version correcte est:
Des problèmes avec votre version:
C'est comme de dire:
tableau demeure un élément dict
fonction: diveintopython.org/getting_to_know_python/dictionaries.html je devrais être capable d'ajouter des éléments à la façon dont je l'ai écrit. je n'ai pas vraiment pourquoi je ne pourrais pas le faire de la manière spécifiée dans le site. EDIT: oh, j'obtiens ce que je faisais mal. stupide moi =] merci encore
non, votre façon initialise le
array
dictionnaire à chaque itération de la boucle. Voir laarray = ...
d'initialisation.Voir ma dernière partie de la réponse. C'est comme de dire k =1 k=2 k=3. K serait de 3 à droite. et pas 1, 2, 3. Dans la boucle, pointe de tableau à nouveau dict à chaque fois.
La façon dont vous le faites, vous instancier un nouveau dict objet et remplacer le précédent. Le {foo: bar} syntaxe est ok lorsque vous créez l'objet. Lorsque vous voulez ajouter un élément à un dict, vous devez utiliser dict[foo] = bar.
OriginalL'auteur pyfunc
Ou:
OriginalL'auteur Maciej Kucharz
Peut-être même plus Pythonic:
ou, si votre
prog
correspond à plusieurs groupes:OriginalL'auteur eumiro