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])

True == 1 とのようにFalse == 0else必須ではありません。


関連記事:ブール値を int として使用するのは 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 に答える