Python

【Python】リストが空か判定(配列:list内の要素)する方法【1次元や2次元など】【len関数、not、if文、all関数、any関数】

当サイトでは記事内に広告を含みます
いつも記事を読んでいただきありがとうございます!!! これからもお役に立てる各情報を発信していきますので、今後ともよろしくお願いします(^^)/

この記事では、Pythonでリスト(配列:list)が空か判定する方法について解説していきます。

はポイントとしては、len関数、not演算子、if文、all関数、any関数を使用することです。

・len関数、not演算子、if文

・2次元では、all関数、any関数

などを使用することです。

なお、下記の解説では完全な初心者でもわかりやすいようにあえて変数名(筆者自身が名付けていい場所)を少々変わった名称にしております。

そのため、あなた自身がご活用の際には、ここを適切な(英語表記でしっくりくるものが一般的)ものに変更してご活用くださいね。

それでは詳しく見ていきましょう!

 

リストが空かどうか判定する方法【1次元の配列内の要素】

それではまず、1次元のリストが空かどうかを判定する方法について解説していきます。

ifとlen関数を使うものと、if notで処理するものの2パターンを紹介していきます。

jupyter notebookなどの各開発環境を開いて、以下コードをコピペしましょう。


# 空のリスト(からのリスト)を作成
karano_risuto = []

# len関数で要素数が0かチェック
if len(karano_risuto) == 0:
    print("リストkarano_risutoは空です")
else:
    print("リストkarano_risutoは空ではありません")

# notを使ってリストが空かチェック  
if not karano_risuto:
    print("リストkarano_risutoは空です") 
else:
    print("リストkarano_risutoは空ではありません")

 

実行結果は以下の通りです。

なお、リストに要素を追加してみると、空でないと判定が出ており、上手く機能しているのがわかりますね。

 

コードの意味詳細

上記のコードでは、以下の2つの方法で1次元リストが空かどうかを判定しています。

1. len関数で要素数が0かどうかをチェック

len(リスト名)で、リストの要素数を取得できます。これが0と等しければリストは空ということになります。

 

2. notを使ってリストが空かどうかをチェック

if not リスト名とすることで、リストが空の場合にTrueとなります。 リストに1つでも要素があればFalseになります。

 

実行すると、空であれば、どちらでも「リストkarano_risutoは空です」と表示されますね。

 

 

リストが空かどうか判定する方法【2次元の配列内の要素】

続いては、2次元のリストが空かどうかを判定する方法について解説していきます。

jupyter notebookなどの各開発環境を開いて、以下コードをコピペしましょう。


# 空の2次元リストと、空でない2次元リストを作成
nijigen_karano_risuto = [[]]
nijigen_risuto = [[], ["a"]]

# all関数ですべての内側のリストが空かチェック
if all(len(naisoku_risuto) == 0 for naisoku_risuto in nijigen_karano_risuto):
    print("リストnijigen_karano_risutoはすべて空です")
else:
    print("リストnijigen_karano_risutoには空でないリストが含まれています")

# any関数で内側のリストのどれかが空でないかチェック  
if any(naisoku_risuto for naisoku_risuto in nijigen_risuto):
    print("リストnijigen_risutoには空でないリストが含まれています")
else:
    print("リストnijigen_risutoはすべて空です")  

 

実行結果は以下の通りです。

 

コードの意味詳細

2次元リストでは、以下の方法で空かどうかを判定できます。

 

1. all関数ですべての内側のリストが空かどうかをチェック

all(len(内側のリスト) == 0 for 内側のリスト in 2次元リスト)とすることで、2次元リストの中のすべての内側のリストが空かどうかを判定できます。

内包表記を使って、各内側のリストの長さが0と等しいかをチェックしています。

 

2. any関数で内側のリストのどれかが空でないかをチェック

any(内側のリスト for 内側のリスト in 2次元リスト)とすることで、2次元リストの中のどれかの内側のリストが空でないかを判定できます。

内包表記を使って、各内側のリストがFalseでないかをチェックしています。空のリストはFalseと評価されます。

 

上の内容より、コードを実行すると、nijigen_karano_risutoは「すべて空です」、nijigen_risutoは「空でないリストが含まれています」と表示されるわけです。

 

まとめ Pythoで配列(list)が空か判定(要素)する方法【1次元や2次元など】【len関数、not、if文】

この記事ではPythonでリストが空かどうかを判定する方法について解説しました。

Pythonの扱いになれ、さらに快適な生活を送っていきましょう!