程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了为什么map(print,a_list)不起作用?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决为什么map(print,a_list)不起作用??

开发过程中遇到为什么map(print,a_list)不起作用?的问题如何解决?下面主要结合日常开发的经验,给出你关于为什么map(print,a_list)不起作用?的解决方法建议,希望对你解决为什么map(print,a_list)不起作用?有所启发或帮助;

在Python 2.x中,print它是语句,而不是函数。如果您在Python 3.x中尝试此操作,它将起作用。

在Python 2.x中,您可以说print(x)这不是语法错误,但实际上不是函数调用。就像1 + (3)是一样的1 + 3print(x)是同print x在Python 2.x版本

在Python 2.x中,您可以执行以下操作:

def prn(x):
    print x

然后,您可以执行以下操作:

map(prn, lst)

它会工作。请注意,您可能不想这样做,lst = map(prn, lst)因为prn()returnNone,因此您将用相同长度的value列表替换值列表None

编辑:Python 2.x的其他两个解决方案。

如果您想完全更改的行为print,则可以执行以下操作:

from __future__ import print_function

map(print, lst)

print就像在Python 3.x中一样,这使它成为一个函数,因此可与一起使用map()

或者,您可以执行以下操作:

from pprint import pprint

map(pprint, lst)

pprint()是打印内容的功能,可以作为内置功能使用。我不确定它与默认设置有什么不同print(它说这是一个“漂亮的打印”功能,但我不确定它到底有何不同)。

另外,根据PEP 8标准,建议不要将其l用作变量名,因此lst在示例中将使用它。

http://www.python.org/dev/peps/pep-0008/

解决方法

对于正常功能,map效果很好:

def increment(n):
    return n+1
l = [1,2,3,4,5]
l = map(increment,l)
print l
>>> [2,5,6]

但是,如果将print其放入map函数中:

l = [1,5]
l = map(print,l)
print l

python会抱怨:

l = map(print,l)
            ^
SyntaxError: invalid syntax

有什么print特别之处?也不print(x)是有效的函数调用吗?上面的代码在python 2.7下进行了测试。

大佬总结

以上是大佬教程为你收集整理的为什么map(print,a_list)不起作用?全部内容,希望文章能够帮你解决为什么map(print,a_list)不起作用?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: