[Python] リスト(配列)の要素を条件に応じてフィルタリングする方法

Python

Pythonでリスト(配列)の要素を条件に応じてフィルタリングする方法

Pythonでは、リスト(配列)の要素を条件に応じてフィルタリングすることができます。以下の方法で実現できます。

filter()関数を使う

Pythonのfilter()関数を使うと、リストの要素を条件に応じてフィルタリングすることができます。filter()関数は、第1引数に適用する関数、第2引数に対象のリストを指定します。

以下は、filter()関数を使った例です。この例では、リストの要素が5未満の場合にフィルタリングしています。

my_list = [1, 3, 5, 7, 9, 11]

filtered_list = list(filter(lambda x: x < 5, my_list))

print(filtered_list) # 出力: [1, 3]

リスト内包表記を使う方法

リスト内包表記を使って、リストの要素を条件に応じてフィルタリングすることもできます。以下は、リスト内包表記を使った例です。

my_list = [1, 3, 5, 7, 9, 11]

filtered_list = [x for x in my_list if x < 5]

print(filtered_list) # 出力: [1, 3]

この例では、リスト内包表記を使って、リストの要素が5未満の場合にフィルタリングしています。

どちらの方法でも、指定した条件に一致する要素だけが新しいリストとして返されます。条件に一致しない要素は除外されます。

なお、filter()関数を使った場合は、list()関数を使ってフィルタリングされた結果をリストに変換する必要があります。

タイトルとURLをコピーしました