環境設定 数値 文字列 正規表現 リスト タプル 集合 辞書 ループ 関数 クラス データクラス 時間 パス ファイル スクレイピング その他

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 になります。