-1
votes

Évaluer une chaîne de liste dans une chaîne

Dis que j'ai une chaîne qui ressemble à quelque chose comme ceci: xxx

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 () et ce que je recherche est quelque chose de la même idée.


4 commentaires

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 . Comme indiqué, ce n'est pas un python légal.


@Prune s'il vous plaît ne suggérez pas mal lorsque ast.literal_eval ou json.loads 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


3 Réponses :


3
votes

Est-ce que ça va? xxx


0 commentaires

1
votes

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']


0 commentaires

1
votes

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("'", '"'))


0 commentaires