1

有没有办法在速记嵌套循环中添加满足条件的所有内容?我的以下尝试不成功:

count += 1 if n == fresh for n in buckets['actual'][e] else 0
4

2 回答 2

5

sum与生成器表达式一起使用:

sum(n == fresh for n in buckets['actual'][e])

asTrue == 1False == 0, soelse不是必需的。


相关阅读:将布尔值用作整数是Pythonic吗? , Python 中的 False == 0 和 True == 1 是实现细节还是由语言保证?

于 2013-10-14T19:47:28.137 回答
1

使用sum()功能:

sum(1 if n == fresh else 0  for n in buckets['actual'][e])

或者:

sum(1 for n in buckets['actual'][e] if n == fresh)
于 2013-10-14T19:47:14.527 回答