范围内有什么特别的东西(开始,停止,步骤).count(item)

时间:2011-11-05 17:17:06

标签: count python-3.x

我刚刚发现了py3k range方法count()

counts = range(start, stop, step).count(item)

方法的结果是不是始终为1或0?在我看来,调用方法count(而不是contains)可能有点过分。

这种方法中是否存在某些与旧的不同的东西:

if item in range(start, stop, step)  ?

1 个答案:

答案 0 :(得分:5)

range.count()确实总是返回0或1,它与int(item in range(...))相同。其主要目的是使range()个对象的界面符合collections.abc.Sequence的界面,这需要count()方法。

请注意,issubclass(range, collections.abc.Sequence)会返回True