Python 列表转换

1 投票
4 回答
3727 浏览
提问于 2025-04-16 09:12

你好!
怎么把这个列表 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]

撰写回答