栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为什么map(print,a_list)不起作用?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么map(print,a_list)不起作用?

在Python 2.x中,

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

在Python 2.x中,您可以说

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

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

def prn(x):    print x

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

map(prn, lst)

它会工作。请注意,您可能不想这样做,

lst = map(prn, lst)
因为
prn()
return
None
,因此您将用相同长度的value列表替换值列表
None

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

如果您想完全更改的行为

print
,则可以执行以下操作:

from __future__ import print_functionmap(print, lst)

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

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

from pprint import pprintmap(pprint, lst)

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

另外,根据PEP 8标准,建议不要将其

l
用作变量名,因此
lst
在示例中将使用它。

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



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/648100.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号