将Int映射到列表 - Python

Nic*_*ick 1 python string list

可能重复:
Python:如何将字符串数组转换为数字数组?

我试图将字符串列表映射到Int,当我映射Int函数时,它将2位数字分成2个项目列表:

我有以下代码:

>>> MyList
['10', '5', '6', '7', '8', '9']
>>> MyList = [map(int,x) for x in MyList]
>>> MyList
[[1, 0], [5], [6], [7], [8], [9]]
Run Code Online (Sandbox Code Playgroud)

获取如下所示的列表的正确方法是什么:

[10, 5, 6, 7, 8, 9]
Run Code Online (Sandbox Code Playgroud)

agf*_*agf 9

使用map(int, ...直接在列表上:

map(int, MyList)
Run Code Online (Sandbox Code Playgroud)

或者,在大多数情况下,使用列表理解:

[int(x) for x in MyList]
Run Code Online (Sandbox Code Playgroud)

但不是两个.

map 将函数应用于迭代中的每个项目 - 这就是它的目的.

同样,列表理解上运行的迭代每个项目的表达,所以你不需要map,只是表达你想每次运行.