草庐IT

1000000000000000

全部标签

python - 为什么 Python 3 中的 "1000000000000000 in range(1000000000000001)"这么快?

我的理解是range()函数,其实是anobjecttypeinPython3,动态生成其内容,类似于生成器。在这种情况下,我预计以下行会花费过多的时间,因为为了确定1万亿是否在范围内,必须生成1万亿值:1_000_000_000_000_000inrange(1_000_000_000_000_001)此外:似乎无论我添加多少个零,计算或多或少都需要相同的时间(基本上是瞬时的)。我也尝试过这样的事情,但计算仍然几乎是即时的:#countbytens1_000_000_000_000_000_000_000inrange(0,1_000_000_000_000_000_000_001,