시작하기무료로 시작하기

*와 zip으로 'unzip' 하기

이제 zip()을 사용하는 방법과 zip 객체에서 값을 출력하는 방법을 아셨네요. 훌륭합니다!

zip()을 조금 더 다뤄 보겠습니다. zip()의 반대를 수행하는 별도의 unzip 함수는 없습니다. 하지만 *의 도움을 받아 zip()을 다시 활용하면 함께 묶인 항목을 되돌릴 수 있습니다. *는 리스트나 튜플 같은 iterable을 함수 호출에서 위치 인수로 풀어 줍니다.

이번 연습에서는 zip() 호출에서 *를 사용해, zip()이 만들어 낸 튜플들을 풀어 보겠습니다.

문자열로 이루어진 두 개의 튜플 mutantspowers가 미리 로드되어 있습니다.

이 연습은 강의의 일부입니다

Python 도구 상자

강의 보기

연습 안내

  • mutantspowers를 이 순서로 zip()에 전달해 zip 객체를 만들고 결과를 z1에 할당하세요.
  • print() 호출에서 * 연산자를 사용해 z1의 튜플들을 위치 인수로 풀어 출력하세요.
  • 바로 앞의 print() 호출로 z1의 요소가 소진되었으므로, 앞서 정의한 zip 객체를 다시 만들고 결과를 다시 z1에 할당하세요.
  • zip() 호출에서 * 연산자를 사용해 z1의 튜플들을 위치 인수로 풀어 'unzip' 하세요. 그 결과를 차례대로 result1result2에 할당하세요.
  • 마지막 print() 문은 result1mutants와, result2powers와 비교한 결과를 출력합니다. 풀어 낸 result1result2가 각각 mutantspowers와 동일한지 확인하려면 "Submit Answer"를 클릭하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Create a zip object from mutants and powers: z1
z1 = ____

# Print the tuples in z1 by unpacking with *
print(____)

# Re-create a zip object from mutants and powers: z1
z1 = ____

# 'Unzip' the tuples in z1 by unpacking with * and zip(): result1, result2
result1, result2 = ____

# Check if unpacked tuples are equivalent to original tuples
print(result1 == mutants)
print(result2 == powers)
코드 편집 및 실행