我有一个列表,需要创建条件满足次数的计数。这样做会更加pythonic:
cnt = sum([1 for s in a_list if some_condition])
或者这更像是pythonic:
cnt = 0
for s in a_list:
if (some_condition):
cnt += 1
答案 0 :(得分:14)
都不是。
使用第一个,但不在内存中创建不必要的列表:
cnt = sum(1 for s in a_list if some_condition)
答案 1 :(得分:4)
你可以更简单地做到:
mail($to, $subject, $msg, $headers);
假设condition_func是某种将列表中的项目变为True或False的函数。
答案 2 :(得分:4)
使用True
作为整数使用的事实是1
:
cnt = sum(some_condition(s) for s in a_list)