728x90
반응형
functools.reduce( function , iterable [ , initializer ] )
이터레이터를 왼쪽에서 오른쪽에서 순차적으로 누적하여 적용할때 사용합니다.
예를 들어 x는 누적된 값이고 y는 업데이트 되는 값입니다.
from functools import reduce
reduce(lambda x, y: x+y, [1, 2, 3, 4, 5])
# result
((((1+2)+3)+4)+5) = 15
functools.cmp_to_keyfunctools.cmp_to_key( func )
비교 함수를 주요 함수로 사용합니다.
비교 함수는 두 개의 인수를 받아 비교하고, 보다 작으면 음수, 같으면 0,보다 크면 양수를 반환하여 사용합니다.
from functools import cmp_to_key
def sort_value(object1, object2):
value1 = object1[1]
value2 = object2[1]
if value1 > value2:
return 1
elif value1 < value2:
return -1
else:
return 0
array = [['a', 2], ['c', 1], ['b', 3]]
sorted(array, key=cmp_to_key(sort_value))
# result
[['c', 1], ['a', 2], ['b', 3]]
728x90
반응형
'python' 카테고리의 다른 글
python - 데코레이터 (Decorator) (0) | 2021.11.08 |
---|---|
python - 힙 큐 (heapq) (0) | 2020.12.22 |
python - startswith, endswith (0) | 2020.12.18 |
python - Counter (0) | 2020.12.17 |
python - Anaconda 설치 (0) | 2018.01.22 |