はじめに
このチャレンジでは、与えられたフィルタ関数の結果に基づいてリストを 2 つのグループに分割する Python 関数を書きます。これは、特に大規模なデータセットを扱う際に、プログラミングにおける一般的なタスクです。
This tutorial is from open-source community. Access the source code
💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください
このチャレンジでは、与えられたフィルタ関数の結果に基づいてリストを 2 つのグループに分割する Python 関数を書きます。これは、特に大規模なデータセットを扱う際に、プログラミングにおける一般的なタスクです。
bifurcate_by(lst, fn)
という関数を書きます。この関数は、リスト lst
とフィルタ関数 fn
を引数とします。この関数は、フィルタ関数の結果に基づいてリストを 2 つのグループに分割する必要があります。フィルタ関数が要素に対して真値を返す場合、その要素は最初のグループに追加されます。それ以外の場合、その要素は 2 番目のグループに追加されます。
関数は、2 つのリストのリストを返す必要があります。最初のリストには、フィルタ関数が真値を返したすべての要素が含まれ、2 番目のリストには、フィルタ関数が偽値を返したすべての要素が含まれます。
各要素に対する fn
が返す値に基づいて、要素をグループに追加するためにリスト内包表記を使用します。
def bifurcate_by(lst, fn):
return [
[x for x in lst if fn(x)],
[x for x in lst if not fn(x)]
]
bifurcate_by(['beep', 'boop', 'foo', 'bar'], lambda x: x[0] == 'b')
## [ ['beep', 'boop', 'bar'], ['foo'] ]
このチャレンジでは、与えられたフィルタ関数の結果に基づいてリストを 2 つのグループに分割する方法を学びました。各要素に対するフィルタ関数が返す値に基づいて、要素をグループに追加するためにリスト内包表記を使用しました。これは、特に大規模なデータセットを扱う際に、プログラミングにおいて役立つ技術です。