Comment redéfinir les clés de dict python
Je suis en train de travailler sur un programme qui (entre autres choses) lit un fichier CSV (il est stocké dans un tableau de dicts dans la forme [{col1:data1a,col2:data2a},{col1:data1b,col2:data2b}]
). Pour chaque ligne, dans le cadre de tout autre traitement, j'ai besoin de reconfigurer ces clés à des valeurs entrées par l'utilisateur, qui sont fournis dans un autre dict de sorte qu'ils peuvent être utilisés en tant que paramètres dans un appel d'API. La cartographie de la matrice est de la forme: {badname1:goodname1, badname2:goodname2,...}
.
Donc je voudrais obtenir à partir de:
{badname1:data1, badname2:data2,...}
à {goodname1:data1, goodname2:data2,...}
Je voudrais utiliser quelque chose comme zip()
(bien que zip()
rendements {badname1:badname1,...}
).
Semble comme il devrait y avoir une solution évidente qui fait allusion à moi.
EDIT:
Si les données sont dans a
et de la cartographie dans b
:
dict(zip(b,a.itervalues()))
- Je obtenir près, mais il ne fonctionnera que dans les cas où les champs sont connus pour être dans le même ordre je pense.
source d'informationauteur acrosman
Vous devez vous connecter pour publier un commentaire.
Ou en Python2.7+ avec Dict Des Compréhensions:
Si vous utilisez Python 2.7 et Python 3.x, vous pouvez utiliser un dictionnaire de compréhension. C'est l'équivalent elo80ka de la réponse (qui a utilisé une compréhension de liste), mais produit un peu plus lisible le code.
Est-ce que vous êtes après?