Python String to List : conversion de chaînes en listes
Les listes font partie des objets modifiables, alors que les chaînes de caractères sont immuables en Python. En convertissant une chaîne en une liste, vous pouvez modifier, ajouter ou supprimer des caractères ou des sous-parties de la chaîne.
- Certificat SSL et protection DDoS
- Sauvegarde et restauration des données
- Assistance 24/7 et conseiller personnel
Python String to List : méthodes de conversion
Python String to List désigne la conversion d’une chaîne de caractères (strings en anglais) en une liste. La chaîne est alors convertie en une structure de données qui supporte des opérations de liste et permet ainsi une manipulation variée des données.
Voici quelques-unes des méthodes les plus courantes pour convertir une chaîne de caractères en une liste :
split()
La méthode Python split décompose une chaîne de caractères en une liste de sous-chaînes basée sur un séparateur ou un motif spécifique. La syntaxe générale est la suivante :
string.split(sep=None, maxsplit=-1)
pythonstring
: il s’agit de la chaîne de caractères originale.sep
(optionnel) : c’est le séparateur qui indique comment la chaîne doit être divisée. Si aucun séparateur n’est indiqué, la méthode divise la chaîne au niveau des espaces.maxsplit
(optionnel) :maxsplit
définit le nombre maximal de divisions à effectuer. S’il n’est pas spécifié ou s’il est fixé à -1, toutes les divisions possibles seront effectuées.
Voici un exemple :
text = "blue,green,yellow,red"
print(f"List of colors = {text.split(',')}")
pythondont la sortie sera la suivante :
List of colors = ['blue', 'green', 'yellow', 'red']
pythonLes chaînes de caractères f (f-strings) sont une méthode de formatage string en Python et acceptent n’importe quelle expression comme caractère de remplacement entre accolades. Nous pouvons donc associer le résultat de la fonction split()
à la chaîne de caractères "List of colors ="
.
list()
La fonction Python list()
est utilisée pour convertir différentes structures de données, y compris des chaînes de caractères, en listes. Si vous passez une chaîne de caractères en argument à la fonction list()
, chaque lettre ou caractère de la chaîne sera stocké comme un élément séparé dans la liste résultante.
text = "Bonjour"
char_list = list(text)
print(char_list)
pythonList comprehension
List Comprehension
est une manière de créer des listes en combinant boucles et conditions sur une seule ligne.
text = "Bonjour Monde"
char_list = [char for char in text]
print(char_list)
# Output: ['B', 'o', 'n', 'j', 'o', 'u', 'r', ' ', 'M', 'o', 'n', 'd', 'e']
pythonNous utilisons ici la chaîne de caractères "Bonjour Monde"
, à partir de laquelle nous créons une liste et la stockons dans char_list
. List Compréhension
parcourt chaque lettre char
dans la chaîne text
et l’ajoute comme élément unique à la liste char_list
.
String Slicing
String Slicing
est une autre méthode Python String to List qui extrait des séquences partielles d’une chaîne de caractères et les stocke comme éléments dans une liste.
substring_list = string[start:stop:step]
pythonstart
: l’index où commence le slicing (la découpe) ; l’extrait de la chaîne commence au caractère se trouvant à cette position.stop
: l’index où le slicing se termine ; la séquence se termine avant le caractère à cette position.step
(optionnel) : le pas ou l’incrément selon lequel le slicing est effectué ; cela indique combien de caractères sont omis entre chaque caractère sélectionné.
def convert(string):
list1 = []
list1[:0] = string
return list1
str1 = "xyz"
print(convert(str1))
# Output: ['x', 'y', 'z']
pythonconvert(string)
est une fonction définie par l’utilisateur qui convertit une chaîne de caractères en une liste de caractères. Quand l’expression list1[:0] = string
est exécutée, les différents caractères de la chaîne sont insérés dans la liste vide list1
.
re.findall()
La fonction re.findall()
peut être utilisée comme méthode Python String to List pour trouver toutes les correspondances d’une expression régulière dans une chaîne de caractères et les renvoyer sous forme de liste.
import re
text = "123 and 456 are numbers."
numbers_list = re.findall(r'\d+', text)
print(numbers_list)
# Output: ['123', '456']
pythonL’expression régulière r'\d+'
recherche un ou plusieurs chiffres consécutifs dans le texte et les renvoie sous forme d’éléments séparés dans une liste.
enumerate()
enumerate()
est une fonction intégrée dans Python qui sert à obtenir à la fois l’index et la valeur de chaque élément dans une structure de données itérable. Si vous souhaitez que la liste ne contienne que les valeurs (c’est-à-dire les caractères de la chaîne), vous pouvez utiliser enumerate()
en combinaison avec une List comprehension :
text = "Python"
char_list = [char for index, char in enumerate(text)]
print(char_list)
# Output: ['P', 'y', 't', 'h', 'o', 'n']
pythonJSON
JSON est un module utilisé pour lire et écrire des données JSON et pour convertir des structures de données Python au format JSON et inversement. Pour la fonction Python String to List, le module JSON offre la possibilité d’analyser une chaîne de caractères dans un objet Python correspondant.
import json
json_string = '[1, 2, 3, 4, 5]'
list_from_json = json.loads(json_string)
print(list_from_json)
# Output: [1, 2, 3, 4, 5]
pythonLa fonction json.loads()
analyse la chaîne JSON et la convertit en un objet Python correspondant, dans le cas présent en une liste.
ast.literal
Le module ast
(Abstract Syntax Trees) vous permet d’évaluer une chaîne de caractères dans une structure de données Python, la chaîne étant interprétée comme un littéral Python. Si vous avez une chaîne qui est dans un format littéral Python valide (par exemple une liste, un dictionnaire, un nombre, etc.), vous pouvez utiliser ast.literal_eval()
pour convertir cette chaîne en toute sécurité dans l’objet Python correspondant.
import ast
string = "[1, 2, 3, 4, 5]"
my_list = ast.literal_eval(string)
print(my_list)
# Output: [1, 2, 3, 4, 5]
pythonLe sujet vous intéresse ? Dans notre Digital Guide, nous vous expliquons également comment fonctionne la conversion « String to Datetime » en Python.