Pythonのtupleには、条件を満たす要素だけを持つ新しいタプルを生成するfilter()関数があります。この関数は、指定した関数とイテレータからなるシーケンスを受け取り、関数がTrueを返す要素だけを持つ新しいタプルを返します。
例えば、次のようなタプルを考えます。
tuple_data = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
このタプルから偶数だけを抽出したい場合、次のようなコードを書くことができます。
def is_even(x):
return x % 2 == 0
even_numbers = filter(is_even, tuple_data)
print(list(even_numbers))
実行結果は次のようになります。
[2, 4, 6, 8, 10]