2015-05-13 3 views
-1

У меня есть список, который выглядит следующим образом:Преобразования списка одной строки в список целых чисел

mylist = ['1,2,3'] 

Это список из одной строки. Я хочу, чтобы преобразовать это в список целых чисел, например:

mylist = [1,2,3] 

Я попытался [int(x) for x in mylist.split(',')], но он не работает. Может кто-нибудь помочь? Заранее спасибо.

+0

Посмотрите: http://stackoverflow.com/questions/6378889/how-to-convert-a-string-list-into-an-integer-in-python – bish

+0

Подсказка! str сама является списком, и, следовательно, mylist - это список списков (говорящий в более широком смысле). Поэтому вам нужно проанализировать два списка - это не одно! – therealprashant

ответ

1

Причина, по которой ваш код не работает, состоит в том, что ваш список содержит только один элемент - "1,2,3". Разделить (только и) первый элемент в списке запятой, то mapint к элементам вы получаете:

mylist = ['1,2,3'] 
print map(int, mylist[0].split(",")) 

Печатает

[1, 2, 3] 

Если у вас есть более чем один пункт в списке, вы могут делать

print map(int, [sub for item in mylist for sub in item.split(",")]) 
3

Использование списка. split это строковый метод

[int(j) for i in mylist for j in i.split(',')]