je veux faire quelque chose comme ceci:façon Pythonic écrire créer le dictionnaire de la compréhension dict, + quelque chose d'autre
parsetable = {
# ...
declarations: {
token: 3 for token in [_id, _if, _while, _lbrace, _println]
}.update({_variable: 2}),
#...
}
Cependant, cela ne fonctionne pas parce que la mise à jour ne retourne rien. Existe-t-il un moyen facile de faire cela en plus d'écrire explicitement toute la dict?
Il devrait être possible d'utiliser dict() et une compréhension de liste de tuples + la partie supplémentaire, mais cela est gênant.
Pourquoi ces deux instructions ne sont-elles pas? Pourquoi jouez-vous au golf de code? Quel est le problème avec 'parsetable =' et 'parsetable [déclarations] .update()'? –
La dict parsetable complète a déjà une longueur de 70 lignes, et j'aimerais conserver toutes les données associées en un seul endroit pour faciliter la recherche ou le changement. –
"plus facile à chercher ou à modifier"? Comment une affirmation complexe est-elle "plus facile à rechercher ou à modifier"? Si vos programmeurs de maintenance sont des génies, je suppose que le code de golf pourrait être bon. Mais il semble que plus simple est plus précieux pour ceux qui viendront après vous. –