当前位置: 首页 > 面试题库 >

Python 3 Map函数未调用函数

公良阳波
2023-03-14
问题内容

为什么下面的代码不打印任何内容:

#!/usr/bin/python3
class test:
    def do_someting(self,value):
        print(value)
        return value

    def fun1(self):
        map(self.do_someting,range(10))

if __name__=="__main__":
    t = test()
    t.fun1()

我正在Python 3中执行上述代码。我想我缺少了一些非常基本的东西,但无法弄清楚。


问题答案:

map()返回iterator,直到您要求它之前,它不会处理元素。

将其变成列表以强制处理所有元素:

list(map(self.do_someting,range(10)))

或将collections.deque()其长度设置为0以不产生列表(如果不需要地图输出):

from collections import deque

deque(map(self.do_someting, range(10)))

但是请注意,for对于任何以后的代码维护者而言,简单地使用循环都更具可读性:

for i in range(10):
    self.do_someting(i)


 类似资料:
  • 我希望< code>[InstallDelete]部分调用一个自定义函数,该函数将检查是否安装了旧版本(在这种情况下,某些文件需要在安装新版本之前删除)。 从我的Inno安装脚本中提取。首先,如果安装了旧版本,该函数返回True。 然后是应该调用这个函数的部分: 不幸的是,生成的设置似乎从来没有调用自定义函数(当用这个设置安装我的程序时,我从来没有得到位于自定义函数中的MsgBox,文件也没有被删

  • Python内置了很多有用的函数,我们可以直接调用。 要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数。可以直接从Python的官方网站查看文档: http://docs.python.org/2/library/functions.html 也可以在交互式命令行通过help(abs)查看abs函数的帮助信息。 调用abs函数: >>> abs(100) 100 >

  • Python内置了很多有用的函数,我们可以直接调用。 要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数。可以直接从Python的官方网站查看文档: http://docs.python.org/3/library/functions.html 也可以在交互式命令行通过help(abs)查看abs函数的帮助信息。 调用abs函数: >>> abs(100) 100 >

  • 我对->有问题(例如) 我的代码: 浏览器错误: 错误:在第11行调用/applications/mamp/htdocs/bootstrap/pagination.php中未定义的函数mysqli_result()

  • 问题内容: 当我要实现Authorize.net付款网关时。但是,我收到此错误: 调用未定义的函数curl_init() 请让我知道其中有什么问题。 问题答案: 如果您使用的是Windows: 转到您的php.ini文件,并从以下行的开头删除标记: 保存文件后, 必须 重新启动HTTP服务器软件(例如Apache),然后才能生效。 对于Ubuntu 13.0及更高版本,只需使用已解包的软件包。在终

  • 问题内容: 我刚刚将脚本切换到其他服务器。在以前的服务器上,它可以完美地工作,现在,我将它们切换到其他服务器上,我无法理解问题。 我不确定是否有帮助,但这是相关的代码。 PHP版本是:PHP 5.3.2 问题答案: 从文档开始,在PHP 5.4.0发行之前: 仅当PHP作为Apache模块安装时才支持此功能。 PHP 5.4.0和更高版本无条件支持此功能。 所述文档还包括替换功能,这些功能通过逐步