Basic/Python
파이썬 - map
HappyWeasel
2020. 6. 5. 00:47
def get_eng_title(row)
split = row.split(',')
return split[1]
#row마다 get_eng_title 함수를 돌면서 return 데이터를 eng_title에 저장한다.
eng_title = map(get_eng_title, movies)
# lambda 이용
eng_title = map(
lambda row: row.split(',')[1]
movies
)
map의 장점
- map은 실제로 리스트 결과를 가지고 있는 것이 아니라 map이라는 object만 가지고 있다.
- 계산을 하겠다고 약속만 한 상태이다.
- 사용자가 해당 결과가 필요할 때 계산 후 결과를 알려준다.
- 이에 대한 이점으로 미리 계산을 하지 않으므로 결과가 필요없으면 시간 소요x, 메모리 낭비 x
# CSV 모듈을 임포트합니다.
import csv
def get_titles(books_csv):
with open(books_csv) as books:
reader = csv.reader(books, delimiter=',')
# 함수를 완성하세요.
get_title = lambda row: row[0]
titles = map(get_title, reader)
'''
아래와 같이 긴 코드를 map을 이용하여 1줄로 표현
titles = []
for row in reader:
titles.append(get_title(row))
return list(titles)
'''
return list(titles)
# 작성한 코드를 테스트합니다. 주석을 해제하고 실행하세요.
books = 'books.csv'
titles = get_titles(books)
for title in titles:
print(title)