StatCounter - Free Web Tracker and Counter

파이썬 Map, Filter, Lambda, Sorted 함수

반응형

람다함수


Lambda 함수는 익명함수다. 한, 두번만 쓰일 함수라면 Lambda 함수로 급하게 만들어서 사용해도 괜찮을 것 같다. Lambda 함수는 함수식을 넣어서 함수를 일회성으로 선언해주는 것이기 때문에, Lambda 함수 바로 뒤에는 변수가 따라와야한다.

(lambda 변수 : 식)(변수)

b = (lambda x,y,z : x + y + z)(1,2,3)
>>>>
b = 6

c = (lambda x : x.strip())(' bbcd ')
>>>
c = bbcd

 

map 함수


map 함수는 Iterable한 변수에 대해 연속적으로 함수를 실행해주는 함수다. 

map(함수, iterable)


a = [1,2,3,4,5]
b = list(map(lambda x : x+1, a))
>>>>
b = [2,3,4,5,6]

 

 

Filter 함수


Filter 함수는 map 함수와 유사하게 쓰인다. Iterable한 변수에 특정 함수식을 만족하는 조건들만 남겨주는 함수다.

filter(함수, iterable)

a = [1,2,3,4,5]
b = list(filter(lambda x : x < 5, a))
>>>>
b = [1,2,3,4]

 

sorted 함수


sorted 함수는 현재 가지고 있는 값을 정렬해주는 함수다. sorted 함수에는 key라는 옵션이 있는데, key에는 기준값을 정할 수 있는 함수를 넣어주면 된다. 함수에 들어가는 인자는 sorted 함수에 들어있다. key에는 아래와 같이 튜플 형식으로 같이 들어있을 때, 그 값의 정렬 기준을 설정해줄 수도 있다.

a = [[1,2], [2,1], [9,10]]
b = sorted(a, key = lambda x : (-x[1], x[0]))
>>>
b = [[9,10], [1,2], [2,1]]

c = sorted(a, key = lambda x: (-x[1]))
>>
c = [[9,10], [1,2], [2,1]]


target = ['cat', 'tiger', 'dog', 'snake']
print(sorted(target, key=lambda x : len(x.strip()))
>>> 
'cat', 'dog', 'tiger', 'snake'

위의 내용은 1번째 인덱스에 있는 값을 기준으로 먼저 내림차순을 정렬해준다. 그 후, 0번째 인덱스에 있는 값을 기준으로 오름차순 정렬을 해준다는 것이다.

'프로그래밍 언어 > 파이썬' 카테고리의 다른 글

Hash Key 생성 : Hornor's Method 활용  (0) 2022.04.05
Python : Deque  (0) 2022.04.04
Python : Key 이용하기  (0) 2022.04.04
파이썬 문자열 Concat 시간복잡도  (0) 2022.02.20
파이썬 소수점 표현하기  (0) 2021.09.23

댓글

Designed by JB FACTORY