将Int映射到列表-Python
可能重复:将Int映射到列表-Python,python,string,list,Python,String,List,可能重复: 我试图将字符串列表映射到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]] 获取如下列表的正确方法是什么: [10, 5, 6, 7, 8,
我试图将字符串列表映射到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]]
获取如下列表的正确方法是什么:
[10, 5, 6, 7, 8, 9]
直接在列表上使用map(int,…
:
map(int, MyList)
或者,在大多数情况下,使用列表理解:
[int(x) for x in MyList]
但不是两者都有
map
将函数自身应用于iterable中的每个项——这就是它的用途
类似地,列表理解在iterable中的每个项目上运行表达式,因此您不需要map
,只需要每次运行的表达式。直接在列表上使用map(int,
:
map(int, MyList)
或者,在大多数情况下,使用列表理解:
[int(x) for x in MyList]
但不是两者都有
map
将函数自身应用于iterable中的每个项——这就是它的用途
类似地,列表理解在iterable中的每个项目上运行表达式,因此您不需要
map
,只需要每次运行的表达式。感谢您的快速响应。另外请注意,在python3.x中,map
返回一个迭代器,而不是列表。因此,在python2.x中,上述两项是等效的,而在python3.x中则是等效的hon3.x有一点不同。@mgilson说得很好,但我们知道在本例中,由于他回答中的代码,他使用的是Python 2。感谢您的快速响应。另外请注意,在python3.x中,map
返回的是一个迭代器,而不是列表。因此,在python2.x中,上面的两件事是等效的,而在python3.x中则有一点不同。@mgil儿子说得很好,但我们知道在本例中,他使用的是Python2,因为他回答中的代码。