微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么将生成器表达式称为?

如何解决为什么将生成器表达式称为?

一方面,我们有

  • 列表理解[x for x in range(10)]
  • 设置理解力{x for x in range(10)}
  • 词典理解{x: x for x in range(10)}

另一方面,我们有

  • 生成器表达式(x for x in range(10))

为什么前三个表达式被称为“理解”,而最后一个被称为“表达式”?它们的表示方式几乎相同,我想它们的工作方式也非常相似。背后有什么微妙的原因吗?只是出于好奇。

参考:

解决方法

理解产生新对象,这些新对象立即消耗内部for循环。它们一旦运行就“完成”。

生成器的计算是延迟的-它们会立即返回,并返回一个稍后会产生单个值的对象。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。