if not で判定
Python では空のシーケンス(空のリスト)は False と見なされるため、if not 演算子 で空リストかを判定できます。# リストが空かを判定
if not emptyList:
print('空のリストです')
条件を逆転
# 条件を逆転
if emptyList:
print('空ではありません')
else:
print('空のリストです')
注意点
None の場合も False 判定となるため、 None と 空リスト を厳密に比較したい場合は "is None" 演算子を併用して確認します。None を考慮した空リスト判定
# None を考慮した空リスト判定
if emptyList is None:
print('Noneです')
elif not emptyList:
print('空のリストです')
組み込み関数 len で判定
len関数にリストを渡すと、リスト内の要素数を返します。len関数 がゼロを返した場合、リストは空です。# len 関数で判定
if len(emptyList) == 0:
print('空のリストです')
空リストと比較
これまでの方法では 数値のゼロ や 空文字列 なども 真 と 判定されます。これを防ぐには 空リスト と比較します。# 空リストと比較
if emptyList == []:
print('空のリストです')
参考資料
検証環境
- Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)] on win32
- Microsoft Windows 10 Pro Version 1809 OS Build 17763.439