Python でループを使用すると非常に時間がかかることはわかっていますが、同じような状況に陥った場合はどうすればよいでしょうか?
#この記事では、Python ループの置き換えに使用できるメソッドと例を紹介します。def multiply_by_2(x): x*2lambda function
lambda x: x*2注: 通常の関数の代わりに lambda 関数を使用することをお勧めします。 1. Mapmap 関数を使用すると、反復可能なオブジェクト (リスト、タプルなど) の各値に関数を適用できます。
map(function, iterable)リスト (反復可能なオブジェクト) 内の平方数を取得したいとします。まず、数値の 2 乗を求める square() 関数を作成します。
def square(x): return x*x次に、map 関数を使用して、数値の入力リストに square() 関数を適用します。
input_list = [2, 3, 4, 5, 6] # Without lambda result = map(square, input_list) # Using lambda function result = map(lambda x: x*x, input_list) # converting the numbers into a list list(result) # Output: [4, 9, 16, 25, 36]2. Filter 直感的には、フィルター関数は反復可能なオブジェクト (リスト、タプル、セットなど) から値をフィルターで除外するために使用されます。フィルター条件は、フィルター関数にパラメーターとして渡される関数内で設定されます。
filter(function, iterable)フィルター関数を使用して、10 未満の値をフィルターします。
def less_than_10(x): if x < 10: return x次に、Filter 関数を使用して、less_than_10() 関数を値のリストに適用します。
input_list = [2, 3, 4, 5, 10, 12, 14] # Without lambda list(filter(less_than_10, input_list)) # using lambda function list(filter(lambda x: x < 10, input_list)) # Output: [2, 3, 4, 5]3. ReduceReduce 関数は、map 関数や filter 関数とは少し異なります。これは反復可能オブジェクトのすべての値に反復的に適用され、値を 1 つだけ返します。 次の例では、加算関数を適用して数値のリストを削減します。最終的な出力は、リスト内のすべての数値の合計である 15 になります。
2 つの入力数値を加算する add() 関数を作成しましょう。
def addition(x,y): return x + y次に、リスト内のすべての数値の合計を取得するために、この加算関数をreduce関数の引数として適用します。
rreeee
以上がPython プログラミング: ループを回避する優れた方法!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。