est-il possible de remplacer toutes les valeurs d'un dictionnaire, quelle que soit la valeur, avec l'entier 1? P>
Merci! P>
4 Réponses :
Oui, c'est possible. Itérate à chaque touche du dictionnaire et définissez la valeur correspondante à 1. P>
Bien sûr, vous pouvez faire quelque chose comme: qui crée un nouveau dictionnaire d code> qui plante toutes les touches de
d code> (le ancien) à
1 code>. p> p>
Merci, je cherchais quelque chose comme ça. Je n'étais tout simplement pas tout à fait sûr de ce que le format approprié était et que la dernière fois que j'ai essayé de poster quelque chose sur les dictionnaires, j'ai été ridiculisé; D'où la raison pour laquelle je n'ai pas posté ma tentative infructueuse ici.
Pour modifier le dictionnaire d'origine: pour k in d: d [k] = 1 code>
Encore une autre manière: d = d.fromkeys (D, 1) code>
Dieu, c'est beau.
a = {1:2, 2:2,3:2} a = {x:1 for (x,_) in a.iteritems()} print a {1: 1, 2: 1, 3: 1}
Sûrement juste {k: 1 pour k dans a} code> ... Pas besoin d'obtenir chaque article uniquement pour jeter la valeur ...
Notez que cela ne modifie pas la dicte d'origine. Ce n'est pas vraiment une question à moins que vous prévoyez de l'encapsuler dans une fonction: def surwrite_dict_values (d, nouvel_value): ... code>
Vous pouvez utiliser une compréhension dictée (comme d'autres personnes ont dit) pour créer un nouveau dictionnaire avec les mêmes clés que l'ancien dictionnaire, ou si vous devez faire tout ce qui est en place:
d.update( (k,1) for k in d )
Avant de poster ici, nous suggérons donc tous d'essayer quelque chose et éventuellement le poster, car le sens de cette communauté ne doit pas fournir de solutions prêts à l'emploi, mais aider les gens à apprendre et à mieux comprendre leurs problèmes :)