파이썬 Map, Filter, Lambda, Sorted 함수
- 프로그래밍 언어/파이썬
- 2021. 9. 23.
람다함수
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 |