Python 列表转换
你好!
怎么把这个列表 a = ['1', '2', '3', '4']
转换成 a = [1, 2, 3, 4],而且只用一行代码在 Python 里实现呢?
4 个回答
1
使用生成器:
a[:] = (int(x) for x in a)
... 列表推导式真的是,嗯,2.1,你知道吗?
但是请注意,不要直接在原地替换内容;对比一下这个:
>>> a = b = ['1', '2', '3', '4']
>>> a[:] = [int(x) for x in a]
>>> a
[1, 2, 3, 4]
>>> b
[1, 2, 3, 4]
和这个:
>>> a = b = ['1', '2', '3', '4']
>>> a = [int(x) for x in a]
>>> a
[1, 2, 3, 4]
>>> b
['1', '2', '3', '4']
8
你可以使用 map()
函数:
a = map(int, a)
这是一种替代方法,跟常见的列表推导式相比,在某些情况下可以写得更简洁。
8
使用列表推导式。
a[:] = [int(x) for x in a]