--/--/--

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

2007/06/22

[今日のスクリプト] forall / exists

B4 Wiki - 問題集より、forall / exists を実装せよ。

#!/usr/bin/python
#coding:utf-8

def forall(cond, list):
    return not [x for x in list if not cond(x)]

def exists(cond, list):
    for x in list:
        if cond(x):
            return True
    return False

def main():
    print forall(lambda x: x % 2 == 0, range(1,11))
    print exists(lambda x: x % 2 == 0, range(1,11))

if __name__ == "__main__":
    main()

結果

$ python forall.py
False
True
  • existsは1行でやるよりこっちのほうが数倍速いはず。

追記

forall のほうも exists みたいにアウトになった時点で false 返すようにしたほうが速いわな。exists の逆回しなのでソースコードは略。

スポンサーサイト

comment

post




上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。