Je travaille sur un programme qui (entre autres) lit un fichier CSV dans (il est stocké comme un tableau de dicts sous forme [{col1:data1a,col2:data2a},{col1:data1b,col2:data2b}]
). Pour chaque ligne, dans le cadre d'un autre traitement, je dois redéfinir les clés de valeurs entrées utilisateur, qui sont fournis dans un autre dict afin qu'ils puissent être utilisés comme paramètres dans un appel API. Le tableau de mappage est au format suivant: {badname1:goodname1, badname2:goodname2,...}
.Comment puis-je Réajuster les clés dict python
Je voudrais recevoir: {badname1:data1, badname2:data2,...}
à {goodname1:data1, goodname2:data2,...}
Je voudrais utiliser quelque chose comme zip()
(bien que les rendements zip()
{badname1:badname1,...}
).
On dirait qu'il devrait y avoir une solution évidente qui me fait allusion.
EDIT: Si les données sont dans a
et la mise en correspondance dans b
:
dict(zip(b,a.itervalues()))
Je reçois près, mais il ne fonctionnera que dans les cas où les champs sont connus pour être dans le même ordre Je pense.
Yep. Fonctionne également sans le [], en tant qu'expression de générateur. –