Vous pouvez utiliser une liste de compréhension en combinaison avec la .split() méthode:
x =[int(i)for i in x.split()]
Alternativement, vous pouvez utiliser map aswell:
x = list(map(int, x.split()))
Cela va créer une list de int's si vous voulez entiers.
ou simplement l'utiliser .split() pour une liste de chaînes de caractères:
x = x.split()
Si vous souhaitez créer une liste de str
pour les chaînes, vous avez juste besoin x = x.split()
Remarque: map() ne renvoie une liste en Python 2. En Python 3, un itérateur objet est retourné; l'utilisation list(map(int, x.split())) si vous devez avoir une liste.
Pas besoin de s'inquiéter, parce que python fournir split() de la fonction pour changer de chaîne dans une liste.
x='1 2 3 4 67 8 9'
x.split()
['1', '2', '3', '4', '67', '8']
ou si vous voulez de sortie en forme entière, alors vous pouvez utiliser la fonction map
map(int ,x.split(' '))
[1, 2, 3, 4, 67, 8]
Remarque: map() ne renvoie une liste en Python 2. En Python 3, un itérateur objet est retourné; l'utilisation list(map(int, x.split())) si vous devez avoir une liste.
Avoir d'entrée avec un espace au début ou à la fin de la chaîne ou délimité avec plusieurs inégale montant des espaces entre les points ci-dessus, s.split(' ') retourne également des éléments vides:
J'ai de mieux pour éviter de spécifier un délimiteur:
>>> list(s.split())['1','2','3','4','67','8','9']
Si le second argument optionnel sep est absent ou rien", les mots sont séparés par des chaînes arbitraires de caractères espace (espace, tabulation, saut de ligne, retour, saut).
Si vous voulez diviser uniquement à des espaces, des chaînes vides peuvent être facilement filtrés:
>>>[item for item in s.split(' ')if item]['1','2','3','4','67','8','9']
Vous pouvez utiliser la méthode de chaîne str.split() qui divise la chaîne dans une liste. Vous pouvez en apprendre plus sur cette méthode ici.
Exemple:
def foo(x):
x = x.split()#x is now ['1','2','3','45', ..] the spaces are removed.for i, v in enumerate(x):#Loop through the list
x[i]= int(v)#convert each element of v to an integer
Qui devrait le faire!
>>> x
[1,2,3,45,87,65,6,8]
Ce n'est pas la façon dont enumerate fonctionne... il renvoie l'index et la valeur à l'index donné comme un n-uplet. Ce code va échouer sur soitint(i) et x.index(i).
Cela va prendre soin de l'affaire quand les chiffres sont séparés par un caractère espace ou quand il y a des caractères d'espace à l'avant ou à l'arrière de l'entrée. Quelque chose comme suit:
Vous pouvez utiliser une liste de compréhension en combinaison avec la .split() méthode:
Alternativement, vous pouvez utiliser
map
aswell:Cela va créer une
list
deint
's si vous voulez entiers.ou simplement l'utiliser
.split()
pour une liste de chaînes de caractères:Si vous souhaitez créer une liste de
str
x = x.split()
map()
ne renvoie une liste en Python 2. En Python 3, un itérateur objet est retourné; l'utilisationlist(map(int, x.split()))
si vous devez avoir une liste.Pas besoin de s'inquiéter, parce que python fournir split() de la fonction pour changer de chaîne dans une liste.
ou si vous voulez de sortie en forme entière, alors vous pouvez utiliser la fonction map
map()
ne renvoie une liste en Python 2. En Python 3, un itérateur objet est retourné; l'utilisationlist(map(int, x.split()))
si vous devez avoir une liste.Avoir d'entrée avec un espace au début ou à la fin de la chaîne ou délimité avec plusieurs inégale montant des espaces entre les points ci-dessus, s.split(' ') retourne également des éléments vides:
J'ai de mieux pour éviter de spécifier un délimiteur:
Si vous voulez diviser uniquement à des espaces, des chaînes vides peuvent être facilement filtrés:
Une simple ligne, peut-être...
Comme certains l'un avec sagesse m'a corrigé, en python >=3, il devient,
Il peut aussi être de l'utilisateur dans les versions antérieures.
map
renvoie un objet map, de sorte que vous aurez besoin de faire appellist
sur lui pour en faire une liste.Juste pour faire une explication claire.
Vous pouvez utiliser la méthode de chaîne
str.split()
qui divise la chaîne dans une liste. Vous pouvez en apprendre plus sur cette méthode ici.Exemple:
Qui devrait le faire!
enumerate
fonctionne... il renvoie l'index et la valeur à l'index donné comme un n-uplet. Ce code va échouer sur soitint(i)
etx.index(i)
.En supposant que vous avez seulement les chiffres de votre entrée, vous pouvez avoir quelque chose comme suit:
Cela va prendre soin de l'affaire quand les chiffres sont séparés par un caractère espace ou quand il y a des caractères d'espace à l'avant ou à l'arrière de l'entrée. Quelque chose comme suit:
Vous pouvez remplacer l'entrée à la
x.split(' ')
pour correspondre à d'autres délimiteur types ainsi par exemple,
ou;
etc.