为什么使用map将字符串列表转换为int给出了列表

时间:2018-02-05 19:26:10

标签: python-3.x list

我有一个简单的问题。我想将值列表转换为int

a = ['11', '12', '73']

所以我申请了:

[list(map(int, x) for x in a]

但是,我得到一份清单

[[1, 1], [1, 2], [7, 3]]

为什么?我知道字符串是列表对象,但在这种情况下,字符串有三个元素。我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:3)

列表理解是多余的。您要找的是list(map(int, a))

通过在列表推导中使用地图,您正在进行与以下内容相当的列表理解:

[[int(x) for x in y] for y in a]

这将始终生成列表列表。

答案 1 :(得分:1)

试试这个,现在应该没问题了:

list(map(int, a))