python - map 仅在 tuple() 内部时有效
问题描述
我有一个函数,它将一个对象作为参数并调用该对象的一个方法。该方法只是打印出一些东西并且不返回任何东西。
def func(someobject):
someobject.method()
现在我得到了一堆我想传递给“func”函数的对象的列表。
我已经尝试过使用这样的地图功能:
list = [object1, object2, object3]
map(func, list)
但是它仅在我这样做时才有效:
tuple(map(func, list))
后来我想要与 API 通信的方法,所以我的目标是使用多处理来加速整个过程,但是我什至不能正常地把它弄好 xD。
如果我犯了一个菜鸟错误,请原谅,我对 python 和一般编程都很陌生
解决方案
map
自己工作,我猜你很困惑,因为它返回一个迭代器而不是一个实际的列表或元组。这是从 Python 3 开始的默认行为,因此如果您遵循旧教程,这似乎是行为上的差异。
FWIW,如果您的数据集很大并且您不想同时加载内存中的所有项目,迭代器通常会更好。您已经可以在map
没有显式转换的情况下使用,如下所示:
for spam in map(func, _lst):
print(spam)
推荐阅读
- deep-learning - 我需要将文本转换为向量,然后将向量输入分类器
- angular - 如何在 Ionic 4/Angular 中从 json 创建自定义日期选择器?
- elasticsearch - 官方文档中的这个百分比排名示例结论是否正确?
- c# - 如何将版本设置为 gRPC API?
- manim - 类型对象“动画”没有属性“mobject”
- html - 可以以角度路由到不同的模板
- c - 为什么我可以用没有类型的“静态”限定符声明一个变量?(在 C 中)
- java - 我可以在枚举内的值之间映射吗?
- php - 如何在 PHP 中裁剪图像并以 PNG 格式返回?
- python - python代码仍在运行时如何释放内存?