Je suis tombé sur ce problème à quelques reprises et n'arrive pas à trouver une solution simple. que j'ai une chaîneconvertir la chaîne à dict en utilisant la compréhension de la liste en python
string = "a=0 b=1 c=3"
Je souhaite convertir en un dictionnaire avec a, b et c étant la clé et 0, 1 et 3 étant leurs valeurs respectives (converti en int). Il est évident que je peux faire ceci:
list = string.split()
dic = {}
for entry in list:
key, val = entry.split('=')
dic[key] = int(val)
Mais je ne sais vraiment pas comme ça pour la boucle, il semble si simple que vous devriez être en mesure de le convertir en une sorte d'expression de la compréhension de la liste. Et cela fonctionne pour les cas légèrement plus simples où le val
peut être une chaîne. Cependant, j'ai besoin de convertir val en un int à la volée et faire quelque chose comme ceci est syntaxiquement incorrect. Donc, ma question est la suivante: y a-t-il un moyen d'éliminer la boucle for en utilisant la compréhension de la liste? Sinon, y a-t-il une méthode python intégrée qui fera ça pour moi?
Note: Ne pas utiliser des fonctions intégrées comme noms de variables ('string',' list', etc.) –