J'ai un dictionnaire python appelé des signaux avec des milliers de paires de valeur clé. Une version tronquée: Je veux ajouter le caractère _ au début toutes les valeurs dans le dictionnaire Python afin que le dictionnaire final ressemblait à: p> Mon code ne produit aucune erreur mais ne met pas à jour les valeurs: P> for key, value in signames.items():
key = str(_) + key
3 Réponses :
Votre touche code> code> La variable ne contient que la valeur de chaque touche de la DICT pour chaque itération, et si vous attribuez une nouvelle valeur à la clé, il ne met à jour que cette clé mais comme @JPP a souligné dans le commentaire, il serait plus idiomatique de itérer plus sur code> variable, pas la dicte. Vous devez mettre à jour la dicte elle-même en faisant référence à la clé de la dicte dans chaque affectation: Signames .ITEMS () CODE> Au lieu de cela, étant donné que l'expression dans l'affectation implique également la valeur de chaque clé: p>
Il est plus idiomatique d'idiomer sur Signames.items () CODE>, puisque votre logique implique une valeur de clé et i>.
Merci-- Je comprends cette explication!
@JPP en effet. Mis à jour comme suggéré alors. Merci.
Vous pouvez faire une compréhension classique dict ici:
Ceci est faux clé = str (_) + touche code> puisque le dictionnaire Signmaes code> n'est jamais mis à jour. Changez simplement cette ligne vers Signales [Key] = '_' + Valeur code>. P>