Python
 Computer >> コンピューター >  >> プログラミング >> Python

正の数と負の数を再配置するPythonプログラムのラムダ式


このチュートリアルでは、ラムダを使用して無名関数を記述し、リスト内の正の数と負の数を再配置します。新しい番号を作成するには、リストから負の数を選択してから正の数を選択する必要があります。

アルゴリズム

問題を段階的に解決する方法を見てみましょう。

1. Initialize a list with negative and positive numbers.
2. Write a lambda expression the takes a list as an argument.
   2.1. Iterate over the list and get negative numbers
   2.2. Same for positive numbers
   2.3. Combine both using concatination operator.
3. Return the resultant list.

-リスト内包表記を使用して、負の数と正の数を取得します。

いずれかの時点でスタックした場合は、以下のコードを参照してください。

# initializing a list
arr = [3, 4, -2, -10, 23, 20, -44, 1, -23]
# lambda expression
rearrange_numbers = lambda arr: [x for x in arr if x < 0] + [x for x in arr if x >= 0]
# rearranging the arr
new_arr = rearrange_numbers(arr)
# printing the resultant array
print(new_arr)

出力

上記のプログラムを実行すると、次の出力が得られます。

[-2, -10, -44, -23, 3, 4, 23, 20, 1]

結論

Lambda関数は、プログラムで何度も実行する必要がある小さな操作に最適です。チュートリアルについて疑問がある場合は、コメントセクションにその旨を記載してください。


  1. リスト内のすべての数値を乗算するPythonプログラム?

    まず、ユーザー入力用の3つのリストを作成します。ここでは、トラバース手法を使用します。 productの値を1に初期化して、すべての要素をトラバースし、リストの最後まですべての数値にproductを1つずつ掛けます。 例 Input: A=[5,6,3] Output:90 Explanation:5*6*3 アルゴリズム Step 1: input all numbers in the list (lst). Step 2: to multiply all values in the list we use traversing technique. Step 3: varia

  2. Pythonで関数とLambda式をマップして文字を置き換えます

    文字a1を文字a2に、a2をa1に置き換えたいと思います。たとえば、 入力文字列については、 "puporials toinp" 文字pとtの場合、終了文字列は-のようになります。 "tutorials point" このために、map関数とラムダを使用して置換を行うことができます。 map(lambda、input)関数は、(反復可能な入力の形式で)渡された各アイテムを反復処理し、ラムダ式を適用します。したがって、次のように使用できます- 例 def replaceUsingMapAndLambda(sent, a1, a2): # We cre