举个例子:
>> s = '0123456'
>> list(s)
['0', '1', '2', '3', '4', '5', '6']
我想出了这个:
>> map( lambda x:int(x), list(s) )
[0, 1, 2, 3, 4, 5, 6]
可以改进吗?
答案 0 :(得分:8)
只需使用列表推导,或者使用生成器表达式。简单,快一点(可以说)更具可读性。
[int(x) for x in s]
答案 1 :(得分:6)
>>> map(int, ['1', '2'])
[1, 2]
>>> map(int, '123')
[1, 2, 3]
答案 2 :(得分:2)
你的方法没有真的错误,除了没有必要将字符串转换成列表,因为字符串是可迭代的。
>>> s = '0123456'
>>> map(lambda x:int(x), s)
[0, 1, 2, 3, 4, 5, 6]
如果您更喜欢list comprehension / iterator,请参阅@zeekay's answer。