본문 바로가기
Back-end/Python

[Python] 문법 총정리

by 발담그는블로그 2021. 6. 3.

--- 계속 추가중 ---

문자 길이

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']}
"""

 

 

출처: https://wikidocs.net/64

출처2: https://www.daleseo.com/python-functools-reduce/ (설명 나이스)

반응형