为什么范围具有“计数”功能?

时间:2015-05-18 19:04:39

标签: python range

除非我弄错了,否则范围只能包含唯一的数字。所以,一个数字可能在或不在。

我想只有当我们想要将一个范围作为许多可接受类型之一(动态)传递给某个函数时才有意义。

然而,似乎如果它会超过整个范围来计算一个数字,那将是非常低效的。

我尝试将它与“in”进行比较,但在我的机器上似乎它们具有相同的时间。这可能是对的吗?

1 个答案:

答案 0 :(得分:5)

因为range()个对象符合Sequence ABC,并且ABC有.count()方法。

换句话说,它是为了完整性,所以对象qualifies as a sequence

它不必遍及整个范围,因为如果数字是序列的一部分,计算很容易,请参阅Why is `1000000000000000 in range(1000000000000001)` so fast?