Dis que j'ai une chaîne qui ressemble à quelque chose comme ceci: existe une méthode intégrée en python ou en nombre que je peux utiliser pour convertir automatiquement cela dans une liste? Je connais bien la méthode eval () code> et ce que je recherche est quelque chose de la même idée. P> p>
3 Réponses :
Est-ce que ça va?
Vous pouvez utiliser le Python intégré à la bibliothèque Ast. AST DOCS
>>> import ast >>> x = "['345565', '1234213', '12313523', '1232346345', '1223123']" >>> x_array = ast.literal_eval(x) >>> print(x_array) ['345565', '1234213', '12313523', '1232346345', '1223123'] >>> type(x_array) <class 'list'> >>> x_array ['345565', '1234213', '12313523', '1232346345', '1223123']
Vous pouvez également utiliser le module JSON code>, mais vous devrez faire la balle des guillemets simples pour les guillemets doubles pour le rendre LEGIT JSON: import json
x = "['345565', '1234213', '12313523', '1232346345', '1223123']"
json.loads(x.replace("'", '"'))
Pour le moment, vous n'avez pas de chaîne, vous avez une erreur de syntaxe. Assurez-vous que votre exemple est un exemple de reproductible minimal .
Vous devez changer les citations simples gauche et droite au double. Ensuite, utilisez
eval code>. Comme indiqué, ce n'est pas un python légal.@Prune s'il vous plaît ne suggérez pas
mal code> lorsqueast.literal_eval code> oujson.loads code> peut tous les deux le gérer en toute sécurité :)Est-ce que cela répond à votre question? Convertir une représentation de chaîne de la liste à la liste