2012-05-16 2 views
4

람다 함수를 구현하여 목록을 정렬했습니다. 지금은 람다 함수를 사용하여 목록에서 모든 부정적인 객체를 제거하고 싶습니다.람다 함수를 사용하여 목록에서 음수 값을 파이썬으로 제거하는 방법

dto_list.sort(key=lambda x: x.count, reverse=True) 

람다 표현식을 작성하는 방법을 알고 있습니까? 나는

+2

당신이를 사용해야합니까 지능형리스트를 사용하는 것이 람다 방법으로 할 수 없습니다 '람다 '? 대개 불필요하며 코드를 읽기 쉽게 만듭니다. – jamylak

+0

옙 –

+0

FYI 위의 작업을 수행하는 파이썬 방법은'sorted (dto_list, key = operator.attrgetter ("count"), reverse = True)입니다. – katrielalex

답변

9

매우 파이썬 아니 적절한 튜토리얼을 찾을 여기

>>> L = list(range(-10,10)) 
>>> L 
[-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 
>>> filter(lambda x: x >= 0, L) 
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 
>>> 

대부분의 사람들은

>>> [x for x in L if x >= 0] 
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 
+3

안녕하세요, 대단히 감사합니다. –

+0

목록 작업? 람다 함수를 사용할 지 여부? 좋은 습관이란 무엇인가? – Kalanamith

+3

@Kalanamith : "표준"은 ** 가장 짧고 이해하기 쉬운 ** 무엇이든 사용하는 것입니다. 때로는 그것이 목록 이해력이 될 것입니다. 때로는 itertools가 될 것이다. 때로'map()','filter()','reduce()'와 함께 사용되는'lambda' 함수가 될 것입니다. * 귀하는 귀하의 신청서 중 어떤 것이 더 나은지에 관해 전화를합니다. –

관련 문제