接收带有值的字符串并返回列表

时间:2015-03-16 18:52:02

标签: python

所以,我收到一个包含值的字符串,如:

Something="8478579"

我需要得到

Something=[8,4,7,8,5,7,9]

我该怎么办? 我试过了something.split(),但它给了我:something["8478579"].

3 个答案:

答案 0 :(得分:2)

使用列表理解

>>> [int(i) for i in Something]
[8, 4, 7, 8, 5, 7, 9]

或使用map

>>> Something="8478579"
>>> list(map(int, Something))
[8, 4, 7, 8, 5, 7, 9]

答案 1 :(得分:1)

您可以使用list转换为列表:

>>> Something="8478579"
>>> list(Something)
['8', '4', '7', '8', '5', '7', '9']

或者,如果您想转换为int,可以使用map

>>> map(int,Something)
[8, 4, 7, 8, 5, 7, 9]

如果你想在循环中使用if,你可以循环遍历你的字符串并使用int函数将数字转换为int:

for i in Something :
   #do stuff with int(i)

答案 2 :(得分:1)

直接映射到整数:

map(int, Something)

在Python 3上,那将是一个迭代器,所以你可以使用list()或使用列表理解:

[int(c) for c in Something]

演示:

>>> Something="8478579"
>>> map(int, Something)
[8, 4, 7, 8, 5, 7, 9]
>>> [int(c) for c in Something]
[8, 4, 7, 8, 5, 7, 9]