はじめに
Python では、リスト内包表記と next() を使って、与えられたリストの中で特定のテスト関数を満たす最初の要素の値を見つけることができます。これは、リスト内の最初の奇数や特定の文字で始まる最初の文字列を見つけるなど、多くのシナリオで役立ちます。
一致する値を見つける
find(lst, fn) という名前の関数を書きます。この関数は、リスト lst とテスト関数 fn を引数として受け取ります。この関数は、fn が True を返す lst の最初の要素の値を返す必要があります。もし要素がテスト関数を満たさなければ、関数は None を返す必要があります。
def find(lst, fn):
return next(x for x in lst if fn(x))
find([1, 2, 3, 4], lambda n: n % 2 == 1) ## 1
まとめ
このチャレンジでは、リスト内包表記と next() を使って、与えられたテスト関数を満たすリストの最初の要素の値を見つける方法を学びました。この手法は多くのシナリオで役立ち、より効率的で簡潔なコードを書くのに役立ちます。