Python: 使用map函数打印元素
Python: Print elements using map function
我是 Python 的新手,正在学习如何使用 map
函数。我 运行 进入以下问题:
li=['12','34']
ints=map(int,li)
list(ints) #prints [12,34] OK
p1 = map(print,list(ints))
list(p1) #prints [] WHY?
p2 = map(print, li)
list(p2) #prints 12 34 [None, None] OK
我只是将 print
函数映射到字符串列表和整数列表,得到了不同的结果。我不明白为什么 p1
和 p2
会有不同的表现。
map
returns 一个地图对象,当耗尽时不会产生值。因此,当您第二次调用 list
到 ints
时,它将无法将该函数应用于任何内容,因此 list(map(print,list(ints)))
将 return 一个空列表 []
检查将 list
应用到同一个地图对象两次时会发生什么:
>>> li=['12','34']
>>> ints=map(int,li)
>>> ints
<map object at 0x7f4e375c7898>
>>> list(ints)
[12, 34]
>>> list(ints)
[]
请按照此 link 进行 map|filter|reduce
http://dataunbox.com/course/24/118/Python%20for%20dummies
要回答您的问题,地图函数需要 list.but 您提供的列表(list))
li=['12','34']
ints=list(map(lambda x : x,li))
print(ints)
p1 = map(print,ints) ## instead of int probabaly you might have to provide li
list(p1) #prints [] WHY?
我是 Python 的新手,正在学习如何使用 map
函数。我 运行 进入以下问题:
li=['12','34']
ints=map(int,li)
list(ints) #prints [12,34] OK
p1 = map(print,list(ints))
list(p1) #prints [] WHY?
p2 = map(print, li)
list(p2) #prints 12 34 [None, None] OK
我只是将 print
函数映射到字符串列表和整数列表,得到了不同的结果。我不明白为什么 p1
和 p2
会有不同的表现。
map
returns 一个地图对象,当耗尽时不会产生值。因此,当您第二次调用 list
到 ints
时,它将无法将该函数应用于任何内容,因此 list(map(print,list(ints)))
将 return 一个空列表 []
检查将 list
应用到同一个地图对象两次时会发生什么:
>>> li=['12','34']
>>> ints=map(int,li)
>>> ints
<map object at 0x7f4e375c7898>
>>> list(ints)
[12, 34]
>>> list(ints)
[]
请按照此 link 进行 map|filter|reduce
http://dataunbox.com/course/24/118/Python%20for%20dummies
要回答您的问题,地图函数需要 list.but 您提供的列表(list))
li=['12','34']
ints=list(map(lambda x : x,li))
print(ints)
p1 = map(print,ints) ## instead of int probabaly you might have to provide li
list(p1) #prints [] WHY?