def thing(mode, data):
return [
item for item in data
if {
'large': lambda item: item > 100,
'small': lambda item: item < 100,
}[mode](item)
]
이 목록 내포는 람다 사전을 생성하고 mode
인수를 통해 하나의 람다를 검색하여 현재 처리중인 목록 항목에 적용합니다. 내 질문은 이것입니다 : 이것의 성능 특성은 무엇입니까?목록 이해 중에 파이썬은 어떻게 작동합니까?
listcomp를 반복 할 때마다 전체 사전이 처음부터 생성됩니까? 또는 한 번 생성되어 각 항목에 사용됩니까?
매번 생성됩니다. 또한 각 루프에 2 개의 함수를 생성합니다. – JBernardo
팁 :'import dis; dis.dis (물건)'. – DSM