【发布时间】:2020-07-29 08:26:45
【问题描述】:
我偶然发现了一个有趣的案例 - 我唯一确定的是我会得到一个 iterable 对象。
我真正并且唯一想做的就是数一数。
我搜索了 python 中的 iterable 是否意味着可数,我发现许多地方都声称是这样,除了官方文档。
所以出现了两个问题:
在 Python 中,iterable => 是否可数(项目数)?还是这种情况很常见?
-
是否有一种通用的 Python 方式从可迭代对象中获取计数?这似乎在这里得到了回答https://stackoverflow.com/a/3345807/1835470 即不是不计其数,但作者提供了一个pythonic one-liner:
sum(1 for _ in iterableObject)
【问题讨论】:
-
一个可迭代对象可能无限长,例如
itertools.count()。 -
嗯,它可以是无限的,当然。但这可能不是你的意思。顺便说一句,你是什么意思“不计数”?计数到底是什么意思?
-
@juanpa.arrivillaga 我猜是用词不当——我的意思是循环/迭代并计算迭代次数
-
@jave.web 这就是那条线正在做的事情。
-
@juanpa.arrivillaga 是的,我知道,我在问是否有办法不用自己使用 oneliner :)
标签: python count iterator iterable countable