リストがあり、「*」が最も少ない要素が見つかりました。最低カウント数のリストの要素を取得する*
mylist = ['12*3','12345**6','11234']
だから、この小さなテストで答えがこれは動作しますが、(私は大規模なゲノムデータで働いて遅い「11234」
です:
sorted(mylist, key = lambda x: x.count('*'))[0]
これはあまり説得力はなく作品です:
values = map(lambda x: x.count('*'), mylist)
print mylist[values.index(min(values))]
は良い方法はあります私はシュワルツトランスをやろうとした ?それは分かりません。
あなたのタイミングの違いはわかりません。確かに、「ラムダ関数が遅い」という主張を支持するには不十分であり、より寛大にはより遅い。同じスニペットを複数回実行すると、名前付き関数が先に出てくることがあります。時には 'lambda 'が先に出てくることがあります。これは私が、その違いが純粋にノイズであるか、そして/または何らかの交絡要因であると信じさせる。 AFAIKは、CPythonでは、 'lambda'関数と' def'関数の実装に実際の違いはありません。私は 'lambda'の実行が同等の名前付き関数よりも遅くなる理由は見当たりません。 –