首页 > 解决方案 > 为什么您无法打印某些迭代器,例如 zip 或 map?

问题描述

我遇到了某些内置函数,例如zipmap

我尝试打印这些函数,结果为zip object at 0x1007a06c8or <map object at 0x003AB2E0>

我知道这些函数返回迭代器,但我也可以使用 for 循环来遍历字符串/列表/字典作为迭代器。因此, zip 和 map 有何不同,我如何展示它们?我应该注意哪些其他示例?

标签: python

解决方案


执行以下操作:

list(zip(a,b))

解释:

中的zip()函数Python 3返回一个迭代器。

这样做的目的是通过仅根据需要生成迭代器的元素来节省内存,而不是一次将它们全部放入内存中。

你可以通过做一次耗尽它list(zip(a,b))。所以在那之后你做的任何时候list(zip(a,b))都只会导致空列表。


推荐阅读