181 votes

Comment convertir une chaîne avec des éléments délimités par des virgules en une liste en Python ?

Comment convertir une chaîne en liste ?

Disons que la chaîne est comme text = "a,b,c". Après la conversion, text == ['a', 'b', 'c'] et, espérons-le, text[0] == 'a', text[1] == 'b' ?

261voto

Cameron Points 32208

Comme ceci :

>>> text = 'a,b,c'
>>> text = text.split(',')
>>> text
[ 'a', 'b', 'c' ]

196voto

Droogans Points 2098

Juste pour compléter les réponses existantes : j'espère que vous rencontrerez quelque chose comme ça à l'avenir :

>>> word = 'abc'
>>> L = list(word)
>>> L
['a', 'b', 'c']
>>> ''.join(L)
'abc'

Mais ce à quoi vous avez affaire en ce moment, allez avec la réponse de @Cameron.

>>> word = 'a,b,c'
>>> L = word.split(',')
>>> L
['a', 'b', 'c']
>>> ','.join(L)
'a,b,c'

55voto

Bryan Points 51

Le code Python suivant transformera votre chaîne en une liste de chaînes :

import ast
teststr = "['aaa','bbb','ccc']"
testarray = ast.literal_eval(teststr)

8voto

vivek mishra Points 54

Dans le cas où vous souhaitez diviser par espaces, vous pouvez simplement utiliser .split() :

a = 'mary had a little lamb'
z = a.split()
print z

Sortie :

['mary', 'had', 'a', 'little', 'lamb'] 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X