1. 学ぶ
  2. /
  3. コース
  4. /
  5. 효율적인 Python 코드 작성

Connected

演習

한 번만 계산하는 루프

각 포켓몬의 세대를 나타내는 정수 리스트 generations가 세션에 로드되어 있습니다. 각 세대의 개수를 집계하고, 전체 정수 개수 대비 각 세대가 차지하는 비율(%)을 구하려고 합니다.

아래 루프는 이 작업을 수행하기 위해 작성된 코드입니다:

for gen,count in gen_counts.items():
    total_count = len(generations)
    gen_percent = round(count / total_count * 100, 2)
    print(
      'generation {}: count = {:3} percentage = {}'
      .format(gen, count, gen_percent)
    )

이제 한 번만 계산하면 되는 값을 루프 밖으로 옮겨, 이 루프를 더 효율적으로 만들어 봅시다.

指示

100 XP
  • collections 모듈에서 Counter를 임포트하세요.
  • Counter()를 사용해 generations 리스트에서 각 세대의 개수를 집계하고, 이를 gen_counts로 저장하세요.
  • 한 번만 계산하면 되는 값을 루프 바깥(위쪽)으로 옮겨 더 나은 for 루프를 작성하세요. 원래 for 루프와 완전히 같은 구문을 사용하세요(한 번만 계산하는 줄을 복사해 루프 위로 붙여넣기만 하면 됩니다).