2024.06.28
오예 금요일이다!! 오늘은 파이썬 기초 강의를 모두 들어서 정리한다.
부족한 지식은 구글링하면서 코드카타로 연습해야지!
💡 map ()
여러 개의 데이터를 받아서 각각의 요소에 함수를 적용한 결과를 반환하는 내장 함수
map(function, iterable)
- function : 각 요소에 적용할 함수
- iterable : 함수를 적용할 데이터 집합
+연습+
# 21살 이상이면 성인, 미만이면 청소년이라는 리스트를 출력
people = [
{'name': 'bob', 'age': 20},
{'name': 'carry', 'age': 38},
{'name': 'john', 'age': 7},
{'name': 'smith', 'age': 17},
{'name': 'ben', 'age': 27},
{'name': 'bobby', 'age': 57},
{'name': 'red', 'age': 32},
{'name': 'queen', 'age': 25}
]
- 1차
def check_adult(person):
if person['age'] > 20:
return '성인'
else:
return '청소년'
result = map(check_adult, people)
print(list(result))
# '청소년', '성인', '청소년', '청소년', '성인', '성인', '성인', '성인']
def로 함수를 정의하여, check_adult(person)이라는 함수가 있는데,
만약에 나이가 20살 초과면 '성인'이라고 반환하고 그 외에는 '청소년'이라고 반환해줘 라고 한 것
✔️ list()
비어있는 리스트를 생성할 수 있다.
print(list(result)) => 이 부분은 리스트로 만들어 달라는 함수를 쓴 것이다.
list()를 쓰지 않으면 리스트로 만들어지지 않는데, 이건 map함수 겉에 이용해도 같은 의미로 출력이 된다.
ex) result = list(map(check_adult, people))
print(result)
- 2차
def check_adult(person):
return ('성인' if person['age'] > 20 else '청소년')
result = map(check_adult, people)
print(list(result))
좀 더 간단하게 쓰면 이렇게 쓸 수 있다.
- 3차
result = map(lambda x: ('성인' if x['age'] > 20 else '청소년'), people)
print(list(result))
이때 쓰인 람다식은 아래에 정리해 두었다.
x(어떤 것)의 ['age']라는게 20보다 크면 '성인'이라고 써주고 아니면 '청소년이라고 써줘
💡 lambda ()
익명 함수(anonymous function)라고도 한다.
이름이 없는 함수로, 일반적으로 함수를 한 번만 사용하거나 함수를 인자로 전달해야 하는 경우에 매우 유용하게 사용
lambda 인자: 표현식
def 키워드를 사용하여 함수를 정의하는 것보다 간결하고 간편한 방식으로 함수를 정의할 수 있다.
예시로,
def add(x, y):
return x + y
이거를 람다 함수를 써서 바꾸면,
add = lambda x, y: x + y
로 쓸 수 있다.
💡filter ()
map과 유사한데 True 인 것들만 뽑는다.
직관적이어서 유용하게 쓰인다!
result = filter(lambda x: x['age'] > 20, people)
print(list(result))
# [{'name': 'carry', 'age': 38}, {'name': 'ben', 'age': 27}, {'name': 'bobby', 'age': 57}, {'name': 'red', 'age': 32}, {'name': 'queen', 'age': 25}]
20이상인 딕셔너리들만 True이기 때문에 필터링하여 출력해줬다.
'📒 Today I Learn > 🐍 Python' 카테고리의 다른 글
[Python 문법 기초] class, object, instance, self (0) | 2024.06.28 |
---|---|
[Python 문법 기초] 함수 심화 (0) | 2024.06.28 |
[Python 문법 기초] 한줄의 마법 (0) | 2024.06.27 |
[Python 문법 기초] 파일 불러오기 from 과 import (0) | 2024.06.27 |
[Python 문법 기초] 예외처리 try - except (0) | 2024.06.27 |