如何在Python中使用长整型构建范围?

0 投票
1 回答
1396 浏览
提问于 2025-04-15 16:21

我想在Python中创建一个范围,这个范围的上限比整数的最大值还要大。我在寻找类似下面的东西:

import sys
start = 100;
step = 100;
limit = sys.maxint + 1;
result = xrange(start, limit, step);

不过,xrange的参数是有限制的,只能用整数。根据Python标准库的说明,我需要使用itertools模块中的islice(count(start, step), (stop-start+step-1)//step),但是islice似乎在参数上也有相同的整数限制。

有没有其他方法可以创建一个上限是长整型的列表呢?

1 个回答

9

xrange 是一个很简单的功能,你完全可以自己实现它,所以你可以这样做:

def xlongrange(start, limit, step):
    n = start
    while n < limit:
        yield n
        n += step

撰写回答