如何解决为什么将生成器表达式称为?
一方面,我们有
- 列表理解
[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 举报,一经查实,本站将立刻删除。