--- 계속 추가중 ---
문자 길이
len()
slice
- 리스트에서 특정 범위만을 가져옴
- 형태: testList[ start : end : step] (end는 포함하지 않는다.)
lambda
- lambda 인자 : 표현식
- 예를 들어서, 아래 코드를
def hap(x, y):
return x + y
hap (10, 20)
다음과 같이 한줄로 쓸 수 있다.
(lambda x,y : x +y)(10, 20)
map
- map(함수, 리스트)
- 리스트로부터 원소를 하나씩 꺼내서 함수를 적용시킨 다음, 그 결과를 새로운 리스트에 담아준다
list(map(lambda x: x**2, range(5)))
# [0, 1, 4, 9, 16]
reduce
- reduce(집계 함수, 순회 가능한 데이터[, 초기값])
from functiools import reduce
users = [{'mail': 'gregorythomas@gmail.com', 'name': 'Brett Holland', 'sex': 'M', 'age': 73},
{'mail': 'hintoncynthia@hotmail.com', 'name': 'Madison Martinez', 'sex': 'F', 'age': 29}]
reduce(lambda acc, cur: acc + cur["age"], users, 0)
def names_by_sex(acc, cur):
sex = cur["sex"]
if sex not in acc:
acc[sex] = []
acc[sex].append(cur["name"])
reduce(names_by_sex, users, {})
##########결과
"""
{'F': ['Madison Martinez', 'Karen Rodriguez', 'Amber Rhodes'],
'M': ['Brett Holland', 'Michael Jenkins']}
"""
출처2: https://www.daleseo.com/python-functools-reduce/ (설명 나이스)
반응형