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

Connected

연습 문제

내장 함수 연습: enumerate()

이번 연습에서는 Python의 내장 함수 enumerate() 사용법을 익혀 봅니다. 이 함수는 인덱스가 붙은 리스트를 만들 때 유용해요. 예를 들어, 여러분이 주최한 파티에 사람들이 도착한 순서대로 정렬된 리스트가 있다고 해볼게요(제리가 가장 먼저 도착했고, 그다음이 크레이머 등):

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

각 사람의 도착 순서를 나타내는 인덱스를 붙이고 싶다면, 다음과 같은 for 루프를 쓸 수도 있어요:

indexed_names = []
for i in range(len(names)):
    index_name = (i, names[i])
    indexed_names.append(index_name)

[(0,'Jerry'),(1,'Kramer'),(2,'Elaine'),(3,'George'),(4,'Newman')]

하지만 이것이 가장 효율적인 방법은 아니에요. 이제 enumerate()를 사용해 더 효율적으로 만드는 방법을 살펴보죠.

지침

100 XP
  • for i in range(len(names)) 대신, 인덱스 변수로 i, 이터레이터 변수로 name을 사용하고 enumerate()를 써서 for 루프를 수정하세요.
  • 이전 for 루프를 enumerate()와 리스트 컴프리헨션으로 다시 작성해 새 리스트 indexed_names_comp를 만드세요.
  • names에 enumerate()를 적용해 생성한 enumerate 객체를 별표(*)로 언패킹하여 또 다른 리스트(indexed_names_unpack)를 만드세요. 이번에는 enumerate()의 시작 인덱스를 0이 아닌 1로 설정하세요.