Python入門から応用までの学習サイト


各要素の真偽判定 (all / any)

Pythonではリストタプルなどが保持している要素を、一括真偽判定(TrueかFalseか)をすることができるall関数、any関数があります。

「all」は引数の反復可能オブジェクトが保持しているすべての要素が真(True)であるときにTrueを返します。

# -*- coding:utf-8 -*-


test_list_1 = [0, 100, 300, 800, 150, 0, 40]
test_list_2 = ([], [], [])
test_list_3 = (['python', 'izm', 'com'], ['www'], ['http'])

print all(test_list_1)
print all(test_list_2)
print all(test_list_3)

--実行結果--

False
False
True

Pythonでは数値の「0」や「空のリスト」はFalseと判定されます。「test_list_1」は「0」が含まれているため「all」の結果はFalse、「test_list_2」も同様に「空のリスト」が含まれているためFalseとなります。


「all」関数は以下の処理と同じことを行っています(公式ドキュメントより引用)。

def all(iterable):
    for element in iterable:
        if not element:
            return False
    return True



「any」は引数の反復可能オブジェクトが保持しているいずれかの要素が真(True)であるときにTrueを返します。

# -*- coding:utf-8 -*-


test_list_1 = [0, 100, 300, 800, 150, 0, 40]
test_list_2 = ([], [], [])
test_list_3 = (['python', 'izm', 'com'], ['www'], ['http'])

print any(test_list_1)
print any(test_list_2)
print any(test_list_3)

--実行結果--

True
False
True

「test_list_1」は「0」が含まれていますが、Trueと判定される「0以外」も含まれているため「any」の結果はTrue、「test_list_2」は「空のリスト」しか含まれているためFalseとなります。


「any」関数は以下の処理と同じことを行っています(公式ドキュメントより引用)。

def any(iterable):
    for element in iterable:
        if element:
            return True
    return False




Python
スタートブック


入門 Python 3


Effective
Python


退屈なことは
Pythonにやらせよう

 
 
 

新しいバージョンでは順序付きディクショナリが標準ライブラリになりました!



確かな力が身につく
Python「超」入門




P  R