Séparer une chaîne par une virgule en Python

Séparer une chaîne de caractères par une virgule en Python #

Utiliser le str.split() pour séparer une chaîne de caractères par une virgule, par ex.
my_list = my_str.split(','). Le site str.split divisera la chaîne de caractères à
chaque occurrence d’une virgule et renvoie une liste contenant les résultats.


my_str = 'one,two,three,four'

my_list = my_str.split(',')
print(my_list)  


my_str_2 = 'one two,three four five'
my_list_2 = my_str_2.replace(',', ' ').split(' ')

print(my_list_2)  

La méthode str.split()
divise la chaîne en une liste de sous-chaînes en utilisant un délimiteur.

La méthode prend les 2 paramètres suivants :

Nom Description
séparateur Divise la chaîne en sous-chaînes à chaque occurrence du séparateur.
maxsplit Au maximum maxsplit fractionnements sont effectués (facultatif)

Si le séparateur n’est pas trouvé dans la chaîne, une liste contenant seulement 1 élément est
retournée.

my_str = 'one'

my_list = my_str.split(',')


print(my_list)

Si vous avez un espace entre les mots séparés par des virgules dans la chaîne et que vous devez
de les supprimer, utilisez la fonction str.strip() méthode.

my_str = 'one , two ,  three   ,four'

my_list = [item.strip() for item in my_str.split(',')]
print(my_list)  

Nous avons utilisé une liste de compréhension pour supprimer les espaces en tête et en fin de chaîne de
chaque chaîne.

Les compréhensions de liste sont utilisées pour effectuer une opération pour chaque élément, ou pour sélectionner un sous-ensemble d’éléments qui remplissent une condition.

La méthode str.strip
renvoie une copie de la chaîne de caractères dont les espaces blancs de début et de fin ont été supprimés.
supprimés.

Si votre chaîne de caractères commence ou se termine par une virgule, vous obtiendrez des éléments de chaîne vides dans la liste.
vides dans la liste.

my_str = ',one,two,three,four,'

my_list = my_str.split(',')
print(my_list)  

Vous pouvez utiliser la fonction filter() pour supprimer toute chaîne vide de la liste.

my_str = ',one,two,three,four,'

my_list = list(filter(None, my_str.split(',')))
print(my_list)  

La fonction de filtrage
prend une fonction et un itérable comme arguments et construit un itérateur à partir de
les éléments de l’itérable pour lesquels la fonction renvoie une valeur véridique.

Si vous passez None pour l’argument de la fonction, tous les éléments erronés de l’itérable sont supprimés.

Toutes les valeurs qui ne sont pas véridiques sont considérées comme fausses. Les valeurs fausses en Python
sont :

  • constantes définies comme fausses : None et False.
  • 0 (zéro) de tout type numérique
  • séquences et collections vides : "" (chaîne vide), () (tuple vide), []
    (liste vide), {} (dictionnaire vide), set() (ensemble vide), range(0) (plage
    vide).

Notez que le filter() renvoie un filter donc nous devons utiliser
le site list() pour convertir la classe filter en une liste.

Si vous devez diviser une chaîne de caractères en fonction des occurrences d’une virgule et d’un autre caractère, remplacez la virgule par l’autre caractère et divisez-la en fonction de ce dernier.

my_str = 'one,two,three,four'


my_str_2 = 'one two,three four five'
my_list_2 = my_str_2.replace(',', ' ').split(' ')

print(my_list_2)  

Nous avons remplacé toutes les occurrences d’une virgule par un espace et divisé la chaîne sur chaque espace.
espace.

Vous pourriez obtenir le même résultat en remplaçant chaque occurrence d’une espace par une
virgule et en séparant sur chaque virgule.

my_str = 'one,two,three,four'

my_str_2 = 'one two,three four five'
my_list_2 = my_str_2.replace(' ', ',').split(',')

print(my_list_2)  

Laisser un commentaire