gpt4 book ai didi

Python 3 Map 函数不是调用函数

转载 作者:IT老高 更新时间:2023-10-28 21:17:25 26 4
gpt4 key购买 nike

为什么下面的代码不打印任何东西:

#!/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() returns an iterator ,并且在您要求之前不会处理元素。

把它变成一个列表来强制处理所有元素:

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

如果您不需要 map 输出,则使用长度设置为 0 的 collections.deque() 不生成列表:

from collections import deque

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

但请注意,对于代码的任何 future 维护者来说,简单地使用 for 循环更具可读性:

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

关于Python 3 Map 函数不是调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13623634/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com