함수를 생성할 때 사용하는 예약어로 def와 동일한 역할을 함. 자주 사용하지 않거나 복잡하지 않을 때, 한 줄로 간결하게 표현하고 싶을 때 사용함.
lambda 매개변수1, 매개변수2, ... : 매개변수를 사용한 표현식
# def를 사용했을 때
def get_eng_title(row) :
split = row.split(',')
return split[1]
sorted(movies, key = get_eng_title)
# lambda를 사용했을 때
get_eng_title = lambda row : row.split(',')[1]
sorted(movies, key = get_eng_title)
# 더 간단히 하자면?
sorted(movies, key = lambda row : row.split(',')[1])
debug용 명령어. True 혹은 False로 반환되며 두 값이 같으면 통과, 아니면 에러를 발생시켜서 테스트할 때 많이 사용하는 파이썬의 기본 함수.
데이터의 모음을 받아 n번째 원소를 리턴하는 함수.
import operator
...
sorted_list = list(sorted(list1, key = operator.itemgetter(0)))
# 아이템의 0번째 인자를 가져와 정렬할 때 key로 사용하겠다는 뜻
리스트 혹은 데이터의 집합에서 원소들에게 동일한 함수를 적용하는 함수.
map(함수, 함수를 적용할 리스트)
하지만 map을 사용했을 경우 리스트가 아닌 map이라는 타입을 가지게 됨. 사용자가 원소를 꺼내갈 때 연산을 해줌. 따라서 필요없는 연산은 하지 않아 속도가 빠르고 내용을 하나하나 확인하고 싶을 때는 list()를 이용하면 됨. list()로 변환하기 전에도 인덱싱으로 값을 꺼낸다면 그 때는 잘 꺼내짐.
# 서로 유사한 연산
[func(x) for x in data]
map(func, data)
map과 달리 값을 계산해서 값이 True일 때의 값만 가져옴. filter도 map과 비슷하게 filter타입을 가짐. 모든 원소를 확인하고 싶다면 list()로 변환해줘야 함.