def thing(mode, data):
return [
item for item in data
if {
'large': lambda item: item > 100,
'small': lambda item: item < 100,
}[mode](item)
]
このリスト内包表記は、ラムダの辞書を生成し、引数を介して 1 つのラムダを取得mode
し、現在処理中のリスト項目に適用します。私の質問はこれです: これのパフォーマンス特性は何ですか?
listcomp の各反復中に、辞書全体がゼロから作成されますか? それとも、一度作成して各アイテムで使用しますか?