使用map将字符串转换为int数组

时间:2017-11-09 21:58:05

标签: python python-3.x

正在阅读Python - converting a string of numbers into a list of int我试图转换字符串' 011101111111110'到一组int:[0,1,1,1,0,1,1,1,1,1,1,1,1,1,0]

这是我的代码:

mystr = '011101111111110'
list(map(int, mystr.split('')))

但是返回错误:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-54-9b0dca2f0819> in <module>()
      1 mystr = '011101111111110'
----> 2 list(map(int, mystr.split('')))

ValueError: empty separator

如何拆分具有空拆分分隔符的字符串并将结果转换为int数组?

2 个答案:

答案 0 :(得分:4)

list(map(int, list(mystr)))

应该做的工作。您不能拆分空字符串,但Python支持将str转换为list作为内置函数。我不会在这些情况下使用map,而是使用列表理解:

[int(x) for x in mystr]

答案 1 :(得分:1)

您不需要拆分字符串,因为它已经可以迭代。例如:

mystr = '011101111111110'
result = list(map(int, mystr))

print(result) # will print [0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0]