HappyWeasel
파이썬 - filter 본문
words = ['real', 'man', 'rhythm']
r_words = [word for word in words if word.startwith('r')]
# filter를 사용
def starts_with_r(word):
return word.startswith('r')
#lambda 사용
starts_with_r = lambda word: word.startswith('r')
# starts_with_r 함수의 return 값이 True만 가져온다.
r_words = filter(starts_with_r, words)
filter도 map과 동일하게 연산을 하겠다고 약속만 한 상태이다.
# CSV 모듈을 임포트합니다.
import csv
def get_titles_of_long_books(books_csv):
with open(books_csv) as books:
reader = csv.reader(books, delimiter=',')
# 함수를 완성하세요.
is_long = lambda row: int(row[3]) > 250
get_title = lambda row: row[0]
long_books = filter(is_long, reader)
long_book_titles = map(get_title, long_books)
return list(long_book_titles)
# 작성한 함수를 테스트합니다. 주석을 해제하고 실행하세요.
books = 'books.csv'
titles = get_titles_of_long_books(books)
for title in titles:
print(title)
'Basic > Python' 카테고리의 다른 글
파이썬 - Pandas 1 (1) | 2020.06.06 |
---|---|
파이썬 - Numpy (0) | 2020.06.05 |
파이썬 - map (0) | 2020.06.05 |
파이썬 - lambda (0) | 2020.06.04 |
파이썬 - csv 파일 다루기 (0) | 2020.06.04 |
Comments