【发布时间】:2020-06-20 23:27:14
【问题描述】:
我想计算一个可迭代对象有多少成员满足给定条件。我想以一种清晰简单的方式来做,最好是合理的优化。
我目前最好的想法是:
sum(meets_condition(x) for x in my_list)
和
len([x for x in my_list if meets_condition(x)])
基于迭代器的第一个对于大列表可能更快。它与您用于测试任何和所有的形式相同。然而这取决于 int(True) == 1 的事实,这有点难看。
第二个对我来说似乎更容易阅读,但它不同于任何和所有形式。
有人有更好的建议吗?是否有我缺少的库函数?
【问题讨论】:
标签: python