无限范围()

44 投票
1 回答
10697 浏览
提问于 2025-04-17 00:19

有没有一种不受限制的 range(或者在Python 2中是 xrange)的版本,还是说必须自己手动定义?比如说:

squares = (x*x for x in range(n))

这个只能给我生成到 (n-1)**2 的平方数的生成器,我看不出有什么明显的方法可以调用 range(infinity),让它一直往下走。

1 个回答

69

你在描述 itertools.count 的基本用法:

import itertools
squares = (x*x for x in itertools.count())

撰写回答