Analyser la chaîne à lister en Python
-
Analyser la chaîne à la liste avec la fonction
str.split()
en Python -
Analyser la chaîne à la liste avec la fonction
str.strip()
en Python -
Analyser la chaîne à la liste avec la fonction
json.loads()
en Python -
Analyser la chaîne à la liste avec la fonction
ast.literal_eval()
en Python
Dans ce tutoriel, nous allons apprendre les méthodes pour analyser une chaîne en une liste en Python.
Analyser la chaîne à la liste avec la fonction str.split()
en Python
Si dans un scénario, nous avons une représentation sous forme de chaîne d’une liste comme '[ "A","B","C" , " D"]'
et que nous voulons convertir cette représentation en une liste réelle de chaînes, nous pouvons utilisez la fonction str.split()
pour diviser la chaîne sur la base de chaque ,
. La fonction str.split()
prend un délimiteur/séparateur comme paramètre d’entrée, divise la chaîne d’appel en fonction du délimiteur et renvoie une liste de sous-chaînes. L’exemple de code ci-dessous nous montre comment analyser une représentation sous forme de chaîne d’une liste dans une liste réelle avec la fonction str.split()
.
stringlist = '[ "A","B","C" , " D"]'
print(stringlist.split(","))
Production :
['[ "A"', '"B"', '"C" ', ' " D"]']
Nous avons converti la chaîne stringlist
en une liste en la divisant en fonction de ,
avec la fonction stringlist.split(",")
. Comme il ressort du résultat, cette approche présente plusieurs problèmes et ne répond pas correctement à nos exigences.
Analyser la chaîne à la liste avec la fonction str.strip()
en Python
Pour convertir davantage une chaîne comme celle-ci en liste, nous pouvons utiliser la fonction str.strip()
. Cette fonction str.strip()
prend également le délimiteur/séparateur comme paramètre d’entrée, supprime la chaîne d’appel en fonction du délimiteur et renvoie une liste de sous-chaînes beaucoup plus claires. L’exemple de code ci-dessous nous montre comment analyser une représentation sous forme de chaîne d’une liste dans une liste réelle avec la fonction str.strip()
.
stringlist = '[ "A","B","C" , " D"]'
print(stringlist.strip(","))
Production :
[ "A","B","C" , " D"]
Nous avons converti la chaîne stringlist
en liste en la divisant sur la base de ,
avec la fonction stringlist.split(",")
. Nous obtenons cette fois-ci une liste de chaînes beaucoup plus claire. Le seul inconvénient de cette approche est qu’il y a des espaces blancs indésirables comme l’espace dans le quatrième élément de la liste.
Analyser la chaîne à la liste avec la fonction json.loads()
en Python
Nous pouvons également utiliser le module json
pour notre problème spécifique. La fonction json.loads()
prend un objet JSON en paramètre, désérialise l’objet JSON et renvoie les résultats dans une liste. Le paramètre d’objet JSON, dans ce cas, peut également être une chaîne. L’exemple de code ci-dessous nous montre comment analyser une représentation sous forme de chaîne d’une liste dans une liste réelle avec la fonction json.loads()
.
import json
stringlist = '[ "A","B","C" , " D"]'
print(json.loads(stringlist))
Production :
['A', 'B', 'C', ' D']
Nous avons converti notre chaîne stringlist
en une liste plus propre avec la fonction json.loads(stringlist)
en Python. La seule différence entre la fonction json.loads()
et nos approches précédentes est que nous n’avons pas à spécifier de caractère délimiteur ou séparateur ici. La fonction json.loads()
détermine automatiquement le délimiteur pour nous. Cette méthode contient également le problème des espaces blancs indésirables.
Analyser la chaîne à la liste avec la fonction ast.literal_eval()
en Python
Une autre méthode pour résoudre notre problème spécifique est le module ast
. La fonction ast.literal_eval()
prend une représentation sous forme de chaîne d’une structure littérale Python comme des tuples, des dictionnaires, des listes et des ensembles. Si nous passons la chaîne dans cette structure littérale, elle renvoie les résultats. Dans notre cas, nous avons une représentation sous forme de chaîne d’une liste. Ainsi, la fonction ast.literal_eval()
prend cette chaîne, l’analyse dans une liste et renvoie les résultats. L’extrait de code suivant nous montre comment analyser une représentation sous forme de chaîne d’une liste dans une liste réelle avec la fonction ast.literal_eval()
.
import ast
stringlist = '[ "A","B","C" , " D"]'
print(ast.literal_eval(stringlist))
Production :
['A', 'B', 'C', ' D']
Nous avons converti la chaîne stringlist
en une liste plus propre avec la fonction ast.literal_eval()
en Python. Semblable à l’approche précédente, nous n’avons pas à spécifier de délimiteur ou de séparateur. Également similaire à l’approche précédente, cette méthode présente le même problème d’espaces blancs indésirables. Mais ces espaces vides peuvent être facilement supprimés.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedInArticle connexe - Python String
- Supprimer les virgules de la chaîne en Python
- Comment vérifier qu'une chaîne est vide de manière pythonique
- Convertir une chaîne en nom de variable en Python
- Comment supprimer les espaces dans une chaîne de caractères en Python
- Comment extraire des nombres d'une chaîne de caractèresen Python
- Comment convertir une chaîne de caractères en datetime en Python
Article connexe - Python List
- Convertir un dictionnaire en liste en Python
- Supprimer toutes les occurrences d'un élément d'une liste en Python
- Supprimer les doublons de la liste en Python
- Comment obtenir la moyenne d'une liste en Python
- Quelle est la différence entre les méthodes de liste append et extend
- Comment convertir une liste en chaîne de caractères en Python