があります。私はその後、python3でこのリスト[(a、b)、(c、d)、...]をアンパックする方法lambdaを使用する方法
list1 = [1,2,3]
list2 = [0.1,0.2,0.3]
:私は今、私はこのような二つのリストを持って、例えば [(a、b)は、(C、D)、...]このようなリストを解凍するためにラムダ関数を使用したいですこのような新しいリストを生成するためのzip機能を使用することができます。ここでは
l = zip(list1,list2)
、l = [(1,0.1),(2,0.2),(3,0.3)]
をそして私はこのように、このリストL上の操作をしたい:
outcome_l = [1*0.1, 2*0.2, 3*0.3]
は私が知っているように、EA
f = lambda l1,l2:l1*l2
そして、私は結果を得るために、このように、このラムダ関数を使用したい場合があります:
outcome_l = list(map(f,l))
しかし、ここで問題があることであるsiestの方法は、このようになりますラムダ関数を定義することですラムダ関数はリストlのすべてのセットを解凍するのが難しいようです。そして、 "<ラムダ>()は2つの位置引数を取るが、3つは与えられた"というエラーが存在すると言っています。つまり、リストlの長さは3です。
あなたはこの問題に対処する方法を知っていますかpython3で? python2は同じ問題を抱えていないようです。
中間 '' 'L 'を作るためのOPのためおそらく不要''を使用し、 '' zip(...) ''を使用します。 – wwii