ベストアンサー
文字列が空かどうかを確認する関数は次のとおりです。空:
def is\_empty(string):
return not string.strip()
空のシーケンスは偽であり、ブール値のコンテキストではFalseと評価されます。これを使用して、文字列が空かどうかを確認できます。文字列に空白のみが含まれている場合は空白が削除され、文字列がnullになり、Falseと評価されるように、最初に空白を削除します。空白のみの文字列を空と見なしたくない場合は、strip()メソッドを削除できます。
使用例:
print(is\_empty("")) # Empty string.
print(is\_empty(" ")) # String with only a space char.
print(is\_empty("Hello!")) # String with actual characters.
出力:
True
True
誤り
注: 明示的にして、bool()を使用してください文字列以外のものも関数に渡す必要がある場合は、関数。
回答
リストについて話していると仮定します(Pythonには配列があります) 、ただし、リストとは大きく異なります。
3つの方法:
1真実性をテストする
アイテムがリストであることがわかっている場合:
if not my\_list:
print(‘List is empty’)
空のコンテナ(lists、sets、tuples、dicts)はFalseと評価されます
2emに対してテストしますptyリスト
if my\_list == []:
print(‘List is empty’)
3長さをテストします
if len(my\_list) == 0:
print(‘List is empty’)
3つのオプションのうち、最初のオプションが最もクリーンであると見なされます
追加:
リストを使用する前にテストしている場合、それを行う最善の方法は、気にせず、単にリストを使用してエラーをキャッチすることです:
try:
customer = customer\_list[customer\_number]
except IndexError:
print(‘List is empty or {customer\_number} doesn’t exist’)
このようなエラーをキャッチすることは、空を明示的にテストするよりも優れていると見なされます。これは、EAFPと呼ばれるPythonの原則の1つです。許可よりも許しを求めるのが簡単です。
numpy配列に関する注意事項。
Numpyは必ずしも上記のメカニズムに従わない-たとえば、メソッド1はエラーを生成し、上記のメソッド3はたとえばthe\_array.size == 0
である必要があります。