HappyWeasel

파이썬 - filter 본문

Basic/Python

파이썬 - filter

HappyWeasel 2020. 6. 5. 01:04
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