はじめに
Python では、enumerate()
関数を使ってリストを反復処理し、各要素のインデックスと値の両方を取得できます。また、特定の条件を満たす要素をフィルタリングするためにリスト内包表記を使うこともできます。このチャレンジでは、これらの概念を使って、与えられたテスト関数を満たすリスト内のすべての要素のインデックスを見つける関数を作成します。
This tutorial is from open-source community. Access the source code
💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください
Python では、enumerate()
関数を使ってリストを反復処理し、各要素のインデックスと値の両方を取得できます。また、特定の条件を満たす要素をフィルタリングするためにリスト内包表記を使うこともできます。このチャレンジでは、これらの概念を使って、与えられたテスト関数を満たすリスト内のすべての要素のインデックスを見つける関数を作成します。
引数としてリスト lst
とテスト関数 fn
を取り、fn
が True
を返す lst
内のすべての要素のインデックスのリストを返す関数 find_index_of_all(lst, fn)
を書きなさい。
lst
fn
fn
が True
を返す lst
内のすべての要素のインデックスを表す整数のリストdef find_index_of_all(lst, fn):
return [i for i, x in enumerate(lst) if fn(x)]
find_index_of_all([1, 2, 3, 4], lambda n: n % 2 == 1) ## [0, 2]
このチャレンジでは、与えられたテスト関数を満たすリスト内のすべての要素のインデックスを見つけるために、enumerate()
とリスト内包表記をどのように使うかを学びました。これで、今後同様の問題を解決する際にこの知識を活用できるようになりました。