Étant donné une chaîne qui est une séquence de plusieurs valeurs séparées par une virgule:
mStr = 'A,B,C,D,E'
Comment convertir la chaîne en liste?
mList = ['A', 'B', 'C', 'D', 'E']
Vous pouvez utiliser la méthode str.split.
>>> my_string = 'A,B,C,D,E'
>>> my_list = my_string.split(",")
>>> print my_list
['A', 'B', 'C', 'D', 'E']
Si vous voulez le convertir en un tuple, il suffit de
>>> print Tuple(my_list)
('A', 'B', 'C', 'D', 'E')
Si vous souhaitez ajouter à une liste, essayez ceci:
>>> my_list.append('F')
>>> print my_list
['A', 'B', 'C', 'D', 'E', 'F']
Dans le cas des entiers inclus dans la chaîne, si vous souhaitez éviter de les attribuer à int
individuellement, vous pouvez effectuer les opérations suivantes:
mList = [int(e) if e.isdigit() else e for e in mStr.split(',')]
Il s'appelle list comprehension , et il est basé sur la notation du constructeur d'ensembles.
ex:
>>> mStr = "1,A,B,3,4"
>>> mList = [int(e) if e.isdigit() else e for e in mStr.split(',')]
>>> mList
>>> [1,'A','B',3,4]
>>> some_string='A,B,C,D,E'
>>> new_Tuple= Tuple(some_string.split(','))
>>> new_Tuple
('A', 'B', 'C', 'D', 'E')
Vous pouvez utiliser cette fonction pour convertir des chaînes de caractères uniques délimitées par des virgules en listes.
def stringtolist(x):
mylist=[]
for i in range(0,len(x),2):
mylist.append(x[i])
return mylist