所以,我收到一个包含值的字符串,如:
Something="8478579"
我需要得到
Something=[8,4,7,8,5,7,9]
我该怎么办?
我试过了something.split()
,但它给了我:something["8478579"].
答案 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]