Python のリストから空の文字列を除く:filter(None, iterable) の使い方
2023.02.18
文字列のリストから空の文字列を除く Python のコード。
x = ['Apple', '', 'Microsoft']
y = filter(None, x)
z = list(y)
print(y) # <filter object at 0x10577ff10>
print(z) # ['Apple', 'Microsoft']
filter(None, x)
でリストに似たフィルターオブジェクトをつくり、list
でリストにします。filter の引数は条件と iterable です。リストは iterable の一つ。
たいてい filter の条件は関数ですが、今回は None になっています。条件が None のとき、filter は iterable の要素から False になるものを除きます。Python では空の文字列は False になります。