2016-06-28 5 views
0

複数の機能を同じデータにマップして結果のリストを作成する方法はありますか?基本的に異なる機能をデータにマップする

[array(sin(data)), 
array(cos(data)), 
array(tan(data))] 

をマッピングするマップオブジェクトを生成する

mapfunc([sin, cos, tan], data) 

よう

何か?

神託の方法は、

[f(data) for f in [sin, cos, tan]] 

を行うことです。しかし、それを行う方法のようなマップはありますか?

EDIT:以下のコメント(@ダン・ゲッツ)私は出力があまりにも緩いことを実感します。私は実際に私は再び

[map(f,data) for f in [sin, cos, tan]] 

が正しい方法だと思い

[map(sin,data), 
map(cos,data), 
map(tan,data)] 

を取得したいです。

+0

'map'は、1つの関数を複数の項目に適用することです。その逆もありません。あなたが持っているものと実際の問題は何ですか? – jonrsharpe

+0

@jonsharpe複雑なデータではうまく動作しません。例えば[len]のfに対する[f(data)]を持つ 'data = [1、[2,3,4]、[4,5]]'は '[1,3]ではなく' '3 ' 、2]。 'isinf'のような他の関数はネストされたリストを正しく解析しないため、エラーが発生します。 – Aguy

+0

問題はあなたのデータ構造であり、Pythonではありません。なぜいくつかの要素は単一の項目といくつかのさらなるリストですか? – jonrsharpe

答えて

0

地図に固執するには、ヘルパー機能が必要です。

関連する問題