Python 为什么map(print,x)返回“;无”;价值清单?
在Python3.5中,代码Python 为什么map(print,x)返回“;无”;价值清单?,python,dictionary,printing,nonetype,Python,Dictionary,Printing,Nonetype,在Python3.5中,代码 >>> T = map(print, [1, 2, 3]) >>> type(T) <class 'map'> 这对于我使用的任何输入都是可重复的,而不仅仅是上面显示的任意整数列表。 有人能解释为什么会发生这种情况吗?另请参见: 您看到的每个None都是print函数返回的内容。要了解map的功能,请尝试以下代码: >>> T = map(lambda x: x**2, [1, 2, 3])
>>> T = map(print, [1, 2, 3])
>>> type(T)
<class 'map'>
这对于我使用的任何输入都是可重复的,而不仅仅是上面显示的任意整数列表。
有人能解释为什么会发生这种情况吗?另请参见:您看到的每个
None
都是print
函数返回的内容。要了解map
的功能,请尝试以下代码:
>>> T = map(lambda x: x**2, [1, 2, 3])
>>> t = list(T)
>>> print(t)
[1, 4, 9]
当您改用print
时:
>>> T = map(print, [1, 2, 3])
>>> t = list(T)
1
2
3
>>> print(t)
[None, None, None]
这并不奇怪,因为:
>>> a = print("anything")
anything
>>> print(a)
None
print
返回None
<代码>映射收集可编辑项的函数返回值。打印(打印(1))
为什么不打印?
>>> a = print("anything")
anything
>>> print(a)
None