• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

Enumerate & zip 코드 질문입니다

19.05.15 05:21 작성 조회수 103

0

<코드1>

alist = ["a1","a2","a3"]

blist = ["b1","b2","b3"]

for i, (a,b) in enumerate(zip(alist,blist)):

    print(i,a,b)

 

여기서 볼드체 해놓은  for문 안에 a,b를 소괄호 해주는 정확한 이유가 궁굼합니다.

zip형태는 튜플형태로 묶어주기 때문에 언팩킹을 위해 

소괄호로 해준다고 짐작하고 넘어가려고 했지만

 

<코드2>

a,b,c = zip((1,2,3),(10,20,30),(100,200,300))

print(a,b,c)

이 코드로 언팩킹할때 그냥 a,b,c 로 해줘도 튜플형태로 언팩킹이 되는대

 

왜 <코드1>의 for문안에 a,b는 반드시 튜플형태로 만들어 줘야 되는가요?

답변 1

답변을 작성해보세요.

0

예 맞습니다. enumeate는 index와 튜플로 둘러쌓여진 값 하나를 반환하기 때문에 두개의 값만 받을 수 있습니다. 이를다시 두개로 나누기 위해 튜플안에 두개의 변수를 생성하였습니다.