Comment convertir / restaurer une chaîne avec [] en python

Chose que tu veux faire

Je voudrais convertir une chaîne définie comme «[1,2,3,4]» en une liste.

>>> a = [1, 2, 3, 4]
>>> a = str(a)
>>> print(a)
[1, 2, 3, 4]
>>> print(type(a))
<class 'str'>

Bien que cela soit difficile à comprendre avec la sortie standard, il s'agit d'une chaîne de caractères «[1, 2, 3, 4]» par programmation.

environnement

Méthode 1: utiliser des tranches

Utilisez des tranches pour répertorier les plages autres que "[]".

>>> b = list(map(int, a[1:-1].split(", ")))
>>> print(b)
[1, 2, 3, 4]  # <class 'list'>

Méthode 2: utilisez eval ()

eval () est une fonction qui exécute le code dans la chaîne de caractères. Par exemple, ce qui suit peut être exécuté.

>>> eval("print('hello')")
hello

Vous pouvez voir que l'instruction d'impression dans la chaîne est en cours d'exécution. Si vous utilisez eval (), il sera traité comme une expression et non comme une chaîne.

Conversion avec eval

>>> a = [1, 2, 3, 4]
>>> a = str(a)
>>> print(a)
[1, 2, 3, 4]  # <class 'str'>

>>> b = eval(a)
>>> print(b)
[1, 2, 3, 4]  # <class 'list'>

Sommaire

Les deux méthodes ci-dessus sont résumées. Il n'est peut-être pas utilisé très souvent, mais c'était une bonne occasion d'apprendre la différence entre str et repr. Essayez-le!

Postscript

Bien qu'eval () ait été introduit dans la méthode 2, il a été signalé qu'il existe un problème de sécurité. (Merci!) Il n'y a pas de problème avec cette méthode, mais il semble que ast.literal_eval () soit recommandé car il peut exécuter des scripts arbitraires lors de l'acceptation d'une entrée de l'extérieur.

Référence: [Pourquoi est-il dangereux d'utiliser la fonction eval dans les formulaires Web, etc.? ](Https://ja.stackoverflow.com/questions/61989/eval%E9%96%A2%E6%95%B0%E3%82%92web%E3%83%95%E3%82%A9%E3% 83% BC% E3% 83% A0% E3% 81% AA% E3% 81% A9% E3% 81% A7% E4% BD% BF% E3% 81% 86% E3% 81% A8% E3% 81% AA% E3% 81% 9C% E5% 8D% B1% E9% 99% BA% E3% 81% AA% E3% 81% AE% E3% 81% 8B)

Recommended Posts

Comment convertir / restaurer une chaîne avec [] en python
Comment incorporer des variables dans des chaînes python
[Python] Comment développer des variables dans une chaîne de caractères
Comment convertir un tableau en dictionnaire avec Python [Application]
[Python] Comment convertir une liste bidimensionnelle en liste unidimensionnelle
Comment utiliser BigQuery en Python
[Python] Comment inverser une chaîne de caractères
Comment obtenir stacktrace en python
Convertir en chaîne lors de la sortie de la sortie standard avec le sous-processus Python
Comment transformer une chaîne en tableau ou un tableau en chaîne en Python
[Introduction à Python] Comment fractionner une chaîne de caractères avec la fonction split
[Introduction à Python] Comment générer une chaîne de caractères dans une instruction Print
Comment obtenir une chaîne à partir d'un argument de ligne de commande en python
Comment lire un fichier CSV avec Python 2/3
[REAPER] Comment jouer à Reascript avec Python
Comment effacer un taple dans une liste (Python)
Convertissez des PDF en images en masse avec Python
Comment créer un fichier JSON en Python
Comment notifier les canaux Discord en Python
Comment utiliser tkinter avec python dans pyenv
[Python] Comment dessiner un histogramme avec Matplotlib
[python] Convertir la date en chaîne
Remarque: [Python3] Convertissez datetime en chaîne dans le format de votre choix
Comment écrire une chaîne de caractères lorsqu'il y a plusieurs lignes en python
[Introduction à Python] Comment écrire une chaîne de caractères avec la fonction format
Comment développer en Python
Analyser une chaîne JSON écrite dans un fichier en Python
Je souhaite intégrer une variable dans une chaîne Python
[Python] Comment dessiner un graphique linéaire avec Matplotlib
Comment écrire une concaténation de chaînes sur plusieurs lignes en Python
Comment faire un calcul de hachage avec Salt en Python
Expliquez en détail comment créer un son avec python
Comment convertir un objet de classe en dictionnaire avec SQLAlchemy
Comment exécuter des tests avec Python unittest
Comment convertir des nombres à virgule flottante en nombres binaires en Python
Convertissez l'image au format .zip en PDF avec Python
Comment convertir un fichier JSON en fichier CSV avec Python Pandas
Je veux travailler avec un robot en python.
[Python] Création d'une méthode pour convertir la base en 1 seconde
[Python] Comment créer un histogramme bidimensionnel avec Matplotlib
Comment exécuter une commande à l'aide d'un sous-processus en Python
[Python] Comment dessiner un diagramme de dispersion avec Matplotlib
Comment déposer Google Docs dans un dossier dans un fichier .txt avec python
[Tentative] Comment convertir une chaîne de caractères en Shift_jis avec kivy-ios Memo kivy v1.8.0
Comment obtenir une liste de fichiers dans le même répertoire avec python
[Python] Comment faire PCA avec Python
Python: comment utiliser async avec
Convertir Markdown en PDF en Python
Comment collecter des images en Python
Comment utiliser SQLite en Python
Convertir la liste en DataFrame avec python
Comment convertir 0,5 en 1056964608 en un seul coup
Comment démarrer avec Python
Comment utiliser Mysql avec python
Comment envelopper C en Python
Comment utiliser ChemSpider en Python
6 façons d'enchaîner des objets en Python
Convertir une chaîne en image