1. 학습
  2. /
  3. 강의
  4. /
  5. 효율적인 Python 코드 작성

Connected

연습 문제

앞으로 다룰 내용 맛보기

이 연습 문제에서는 리스트를 반복(iterate)하는 비파이썬식(Non-Pythonic) 방법과 파이썬식(Pythonic) 방법을 모두 살펴보려고 합니다.

names = ['Jerry', 'Kramer', 'Elaine', 'George', 'Newman']

위 리스트에서 글자 수가 6자 이상인 이름만 모으고 싶다고 가정해 볼게요. 다른 프로그래밍 언어에서는 보통 인덱스 변수(i)를 만들고, i로 리스트를 순회하면서, if 문으로 글자 수가 6자 이상인 이름을 수집합니다:

i = 0
new_list= []
while i < len(names):
    if len(names[i]) >= 6:
        new_list.append(names[i])
    i += 1

이제 이를 더 파이썬답게(Pythonic) 풀어보는 방법들을 살펴보죠.

지침 1/3

undefined XP
  • 1

    비파이썬식(Non-Pythonic) 방법으로 만든 리스트 new_list를 출력하세요.

  • 2

    더 파이썬식(Pythonic)인 접근은 인덱스 변수를 쓰지 않고 names의 원소를 직접 순회하는 것입니다. better_list를 출력하세요.

  • 3

    가장 파이썬식(Pythonic)인 방법은 리스트 컴프리헨션을 사용하는 거예요. best_list를 출력하세요.