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.

Hébergement Web
Hébergement Web flexible, performant et sûr
  • 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)
python
  • string : 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(',')}")
python

dont la sortie sera la suivante :

List of colors = ['blue', 'green', 'yellow', 'red']
python

Les 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)
python

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

Nous 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]
python
  • start : 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']
python

convert(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']
python

L’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']
python

JSON

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

La 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]
python

Le sujet vous intéresse ? Dans notre Digital Guide, nous vous expliquons également comment fonctionne la conversion « String to Datetime » en Python.

Cet article vous a-t-il été utile ?
Page top