python - 为什么您无法打印某些迭代器,例如 zip 或 map?
问题描述
我遇到了某些内置函数,例如zip
和map
。
我尝试打印这些函数,结果为zip object at 0x1007a06c8
or <map object at 0x003AB2E0>
。
我知道这些函数返回迭代器,但我也可以使用 for 循环来遍历字符串/列表/字典作为迭代器。因此, zip 和 map 有何不同,我如何展示它们?我应该注意哪些其他示例?
解决方案
执行以下操作:
list(zip(a,b))
解释:
中的zip()
函数Python 3
返回一个迭代器。
这样做的目的是通过仅根据需要生成迭代器的元素来节省内存,而不是一次将它们全部放入内存中。
你可以通过做一次耗尽它list(zip(a,b))
。所以在那之后你做的任何时候list(zip(a,b))
都只会导致空列表。
推荐阅读
- c - C宏将单个令牌分成两个
- java - 在同一个 Java 流中聚合值并转换为单一类型
- linux - 删除目录中少于 x 个字符的文件
- arrays - 比较两个数组并显示第一个数组中具有第二个数组键的项
- python - 使用 Python 请求立即将 JSON API 响应写入文件
- python - 使用推理模式时如何删除输入周围的包装器
- ffmpeg - ffmpeg - DF vs NDF(丢帧)vs(非丢帧),如何简单地将输入时间码传递给输出
- amazon-web-services - 如何使用谷歌脚本将文件从 gdrive 复制到 s3 存储桶?
- python - 如何在 Python 中使用对话流客户端
- python - python中分类的相关性