【Python】all()で全ての要素がTrueかどうかを判定する!
(*このページは2021年2月16日に更新されました。)
Pythonで指定したイテレータブルオブジェクトの全ての要素がTrueかどうかを判定するにはall()を使用します。
all()とはイテレータブルオブジェクトの全ての要素が真、もしくは空であるならTrueを、それ以外はFalseを返す関数であり、リストやタプルなどの要素が全てTrueかどうかを判定することができます。
TrueであるかFalseであるかを判断するには数値や文字列などで条件がありますのでぜひ、この記事を読んで確認してみましょう。
また、all()とは反対にany()という関数があり、要素内のどれか一つでもTrueと判断されるならTrueを返すようになります。
今回はPythonのall()で全ての要素がTrueかどうかを判定する方法について以下の内容で解説していきます。
⚫︎ all()がTrueを返す条件
⚫︎ 要素が数値である場合
⚫︎ 要素が文字列である場合
⚫︎ 要素がイテレータブルオブジェクトである場合
⚫︎ イテレータブルオブジェクトが空の状態で判断する場合
⚫︎ 要素のどれかがTrueであるかを判定する方法
目次
all()とは
all()とは、イテレータブルオブジェクトの全ての要素が真、もしくは空であるならTrueを返し、それ以外はFalseを返す関数となります。
また、all()は以下のコードと同等となると公式ドキュメントには記述しています。
12345 def all(iterable):for element in iterable:if not element:return Falsereturn True
all()の書き方
all()の書き方は下記となります。
1 |
all(イテレータブルオブジェクト) |
all()のパラメータ
⚫︎ イテレータブルオブジェクト:
要素の値がTrueかどうかを判断する為のイテレータブルオブジェクト(リストやタプルなど)を指定する
all()にイテレータブルオブジェクトを指定することで、指定したイテレータブルオブジェクト内の要素が全てTrueであるかどうかを判断することができます。
all()がTrueを返す条件
all()がTrueを返す条件は以下となります。
⚫︎ 要素の数値が0以外である:
要素の数値が0以外の場合、all()はTrueを返し、0の場合はFalseを返すようになります。
⚫︎ 要素の文字列が空白以外である:
要素の文字列が空白以外の場合、all()はTrueを返し、空白(”)の場合はFalseを返すようになります。
⚫︎ 要素のイテレータブルオブジェクトが空でない:
要素がリストやタプルのようなイテレータブルオブジェクトが空でない場合、all()はTrueを返し、空である場合はFalseを返すようになります。
⚫︎ 要素の真偽値がTrueである:
要素の真偽値がTrueである場合、all()はTrueを返し、Falseである場合はFalseを返すようになります。
⚫︎ パラメータのイテレータブルオブジェクトが空である:
パラメータのイテレータブルオブジェクトが空である場合、all()はTrueを返すようになります。
全ての要素がTrueかどうかを判定するサンプルコード
all()で全ての要素がTrueかどうかを判定するサンプルコードを紹介します。
要素が数値である場合
all()で要素が数値である場合に全ての要素がTrueかどうかの判定を行ってみます。
例
1 2 3 4 5 6 7 8 9 |
print('・all()で全ての要素がTrueかどうかを判定') list1 = [56, 567, -45, 78] print('判定対象:', list1) print('判定後:', all(list1)) list2 = [56, 567, 0, 78] print('判定対象:', list2) print('判定後:', all(list2)) |
出力結果
・all()で全ての要素がTrueかどうかを判定
判定対象: [56, 567, -45, 78]
判定後: True
判定対象: [56, 567, 0, 78]
判定後: False
all()によって要素が数値である場合に全ての要素がTrueかどうかを判定しています。
その為、0が含まれていないリストにはTrueを、0が含まれているリストにはFalseが返されています。
要素が文字列である場合
all()で要素が文字列である場合に全ての要素がTrueかどうかの判定を行ってみます。
例
1 2 3 4 5 6 7 8 9 |
print('・all()で全ての要素がTrueかどうかを判定') tuple1 = ('赤色', '青色', '緑色', '黄色') print('判定対象:', tuple1) print('判定後:', all(tuple1)) tuple2 = ('ピンク色', '', '黄緑色', '水色') print('判定対象:', tuple2) print('判定後:', all(tuple2)) |
出力結果
・all()で全ての要素がTrueかどうかを判定
判定対象: (‘赤色’, ‘青色’, ‘緑色’, ‘黄色’)
判定後: True
判定対象: (‘ピンク色’, ”, ‘黄緑色’, ‘水色’)
判定後: False
all()によって要素が文字列である場合に全ての要素がTrueかどうかを判定しています。
その為、空白が含まれていないタプルにはTrueを、0が含まれているタプルにはFalseが返されています。
要素がイテレータブルオブジェクトである場合
all()で要素がイテレータブルオブジェクである場合に全ての要素がTrueかどうかの判定を行ってみます。
例
1 2 3 4 5 6 7 8 9 |
print('・all()で全ての要素がTrueかどうかを判定') list1 = ['赤色', ['オレンジ色', '橙色', '肌色'] , '緑色', '黄色'] print('判定対象:', list1) print('判定後:', all(list1)) list2 = ['ピンク色', [], '黄緑色', '水色'] print('判定対象:', list2) print('判定後:', all(list2)) |
出力結果
・all()で全ての要素がTrueかどうかを判定
判定対象: [‘赤色’, [‘オレンジ色’, ‘橙色’, ‘肌色’], ‘緑色’, ‘黄色’]
判定後: True
判定対象: [‘ピンク色’, [], ‘黄緑色’, ‘水色’]
判定後: False
all()によって要素がイテレータブルオブジェクトである場合に全ての要素がTrueかどうかを判定しています。
その為、空状態ではないイテレータブルオブジェクトが含まれているリストにはTrueを、空状態ではないイテレータブルオブジェクトが含まれているリストにはFalseが返されています。
イテレータブルオブジェクトが空の状態で判断する場合
all()はパラメータであるイテレータブルオブジェクトが空である場合、Trueを返すようになります。
例
1 2 3 4 5 |
print('・all()でイテレータブルオブジェクトが空の場合にTrueかどうかを判定') list1 = [] print('判定対象:', list1) print('判定後:', all(list1)) |
出力結果
・all()でイテレータブルオブジェクトが空の場合にTrueかどうかを判定
判定対象: []
判定後: True
all()でイテレータブルオブジェクトが空の場合はTrueが返されています。
要素のどれかがTrueであるかを判定する方法
要素のどれかがTrueであるかを判定するにはany()を使用します。
any()はall()とは逆の関数であり、要素内にTrueと判断される要素が一つでも存在するとTrueを返す関数となります。
例
1 2 3 4 5 6 7 8 9 |
print('・any()で要素のどれかがTrueであるどうかを判定') list1 = ['赤色', 'オレンジ色', '肌色', '緑色', '黄色'] list2 = ['赤色', '', '肌色', '緑色', '黄色'] print('判定対象:', list1) print('any()判定後:', any(list1)) print('判定対象:', list2) print('any()判定後:', any(list2)) |
出力結果
・any()でどれかの要素がTrueかどうかを判定
判定対象: [‘赤色’, ‘オレンジ色’, ‘肌色’, ‘緑色’, ‘黄色’]
判定後: True
判定対象: [‘赤色’, ”, ‘肌色’, ‘緑色’, ‘黄色’]
判定後: True
any()で要素のどれかがTrueであるどうかを判定しています。
その為、リストの中で空白の文字列がありますが、Trueと判断される要素が一つでもあるため、全体的にTrueが返されています。
もし、any()の使い方について詳しく知りたい場合はこちらをご参考ください。
今回のポイント
all()で全ての要素がTrueかどうかを判定
Pythonでイテレータブルオブジェクトの全ての要素がTrueかどうかを判定するにはall()を使用する。
⚫︎ all()のパラメータにはイテレータブルオブジェクトを指定する
⚫︎ all()で要素の数値を判断する場合、0が含まれていないとTrueを、0が含まれているとFalseが返される
⚫︎ all()で要素の文字列を判断する場合、空白が含まれていないとTrueを、空白が含まれているとFalseが返される
⚫︎ all()で要素のイテレータブルオブジェクトを判断する場合、何か要素があるとTrueを、空であるとFalseが返される
⚫︎ all()でパラメータのイテレータブルオブジェクトが空である場合はTrueが返される
⚫︎ 要素のどれかがTrueであるかを判定するにはany()を使用する
ST
株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。