0
votes

Comment appendez la chaîne aux valeurs existantes dans le dictionnaire Python

J'ai un dictionnaire python appelé des signaux avec des milliers de paires de valeur clé. Une version tronquée: xxx pré>

Je veux ajouter le caractère _ au début toutes les valeurs dans le dictionnaire Python afin que le dictionnaire final ressemblait à: p> xxx Pré>

Mon code ne produit aucune erreur mais ne met pas à jour les valeurs: P>

for key, value in signames.items():
    key = str(_) + key


0 commentaires

3 Réponses :


3
votes

Votre touche 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é 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: xxx

mais comme @JPP a souligné dans le commentaire, il serait plus idiomatique de itérer plus sur Signames .ITEMS () Au lieu de cela, étant donné que l'expression dans l'affectation implique également la valeur de chaque clé: xxx


3 commentaires

Il est plus idiomatique d'idiomer sur Signames.items () , puisque votre logique implique une valeur de clé et .


Merci-- Je comprends cette explication!


@JPP en effet. Mis à jour comme suggéré alors. Merci.



0
votes

Vous pouvez faire une compréhension classique dict ici: xxx


0 commentaires

0
votes

Ceci est faux clé = str (_) + touche puisque le dictionnaire Signmaes n'est jamais mis à jour. Changez simplement cette ligne vers Signales [Key] = '_' + Valeur .


0 commentaires