전체 변환 루프
모든 가능한 포켓몬 타입 목록이 pokemon_types로 세션에 로드되어 있어요. 편의를 위해 콘솔에 출력해 두었습니다.
가능한 모든 포켓몬 타입의 쌍을 수집하려고 합니다. 각 쌍을 개별 리스트에 저장하되, 각 리스트의 첫 번째 요소로 번호가 매겨진 인덱스를 넣고 싶어요. 이렇게 하면 가능한 쌍의 총 개수를 확인할 수 있고, 각 쌍에 대한 인덱스 라벨도 제공할 수 있습니다.
아래 루프는 이 작업을 수행하도록 작성되었습니다:
enumerated_pairs = []
for i,pair in enumerate(possible_pairs, 1):
enumerated_pair_tuple = (i,) + pair
enumerated_pair_list = list(enumerated_pair_tuple)
enumerated_pairs.append(enumerated_pair_list)
이제 전체 변환을 사용해 이 루프를 더 효율적으로 만들어 봅시다.
이 연습은 강의의 일부입니다
효율적인 Python 코드 작성
연습 안내
itertools모듈에서 가져온combinations가 세션에 로드되어 있습니다. 이를 사용해 모든 가능한 포켓몬 타입의 쌍(각 쌍은 포켓몬 타입2개)을 담은 리스트possible_pairs를 만드세요.- for 루프 위에
enumerated_tuples라는 빈 리스트를 만드세요. - 내장 함수를 사용해
enumerated_tuples의 각 튜플을 리스트로 변환하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Collect all possible pairs using combinations()
possible_pairs = [*____(pokemon_types, ____)]
# Create an empty list called enumerated_tuples
____ = ____
for i,pair in enumerate(possible_pairs, 1):
enumerated_pair_tuple = (i,) + pair
enumerated_tuples.append(enumerated_pair_tuple)
# Convert all tuples in enumerated_tuples to a list
enumerated_pairs = [*____(____, enumerated_tuples)]
print(enumerated_pairs)