这本书声称range是一个生成器这是一个错误的说法吗?

2024-05-14 21:00:17 发布

您现在位置:Python中文网/ 问答频道 /正文

为了便于讨论,我将基于python3.6.1提出以下问题

我从书[Learning Python](第5版,第20章,第614页)中读到:

As we’ve seen, fundamental built-in tools such as range, map, dictionary keys, and even files are now generators, so you must be familiar with the concept even if you don’t write new generators of your own.

这是错误的说法吗?你知道吗

我认为对象是迭代器是它成为生成器的必要条件,但不是充分条件。也就是说,生成器的迭代器总是生成器本身。你知道吗

但是,范围键和字典键是iterables,但它们不是自己的迭代器。如果它们不是迭代器,又怎么可能是生成器呢?你知道吗


Tags: inyouasverangetoolswelearning
1条回答
网友
1楼 · 发布于 2024-05-14 21:00:17

有时人们用“generator”来表示任何懒惰的iterable,尽管这不是确切的定义。在python3中,range是一个惰性iterable。你知道吗

相关问题 更多 >

    热门问题