- bool std::all_of()
- bool std::any_of()
- bool std::none_of()
1つ目は Python で言うとビルトイン関数の all()、2つ目は Pythonで言うとビルトイン関数の any() にそれぞれ対応します。
3つ目の std::none_of() に関しては、Python には対応するビルトイン関数はありません。そこで、std::none_of() 相当の関数を作ってみたいと思います。
std::none_of() 相当の関数は、実は極簡単に作ることができます。any() の否定を返すだけで OK です。
def noneof(iterable): return not any(iterable) >>> noneof([0, 1, 0]) False >>> noneof([0, 0, 0]) True >>> noneof(i % 2 == 0 for i in [1, 2, 3]) False >>> noneof(i % 2 == 0 for i in [1, 3, 5]) Trueいざ作るとすごく簡単なので、そもそも noneof() という関数が用意されなかったのかもしれませんね。
0 件のコメント:
コメントを投稿