十分に単純ですが、私はまともな例を見つけることができません。だから私はここに尋ねた!ケース付きのPython map()
基本的に私は何であったか、resultList =マップ(> 0があればこれを行う、他:これ、listOfNumbersを行う)私はそれを行うにはどうすればよい
?
十分に単純ですが、私はまともな例を見つけることができません。だから私はここに尋ねた!ケース付きのPython map()
基本的に私は何であったか、resultList =マップ(> 0があればこれを行う、他:これ、listOfNumbersを行う)私はそれを行うにはどうすればよい
?
lambda
(docs)機能を使用してください。私はプレースホルダー関数foo()
とbar()
を使用しました。これはあなたの "do this/do"ビットで置き換える必要があります。
resultList = map(lambda x: foo(x) if x > 0 else bar(x), listOfNumbers)
Pythonで推奨される方法であると正当に言われている代替方法は、リストの理解を使用することです。これはlambda
機能の使用を必要としません。
resultList = [foo(x) if x > 0 else bar(x) for x in listOfNumbers)
resultList = [foo(x) if x > 0 else bar(x) for x in listOfNumbers]
答えは簡単です:これにしないでください。
本当に。あなたの後にコードを読まなければならない人にやさしい。
def choose_value(x):
if x > 0:
return blah(x)
return minor(x)
results = map(choose_value, list_of_numbers)
これは、私の好みではるかに読みやすく、再利用可能です。
Aigh。リストの理解は私にとってかなり自明であるようです。 – evadeflow
リストの理解度やジェネレータの表現は現在好ましいです – hop
@hopあなたは正しいです、ありがとう、それを編集しました。 – marcog
ガイドラインに従う私は答えを受け入れるのに2日間待つ習慣をつくっています。あなたの目の前で、あなたはすぐにポイントが必要です。 :D Cheers – Bolster