더북(TheBook)

zip 객체는 반복자(iterator)라고 할 수 있으며, 반복자란 시퀀스를 통해 반복할 수 있는 객체를 말한다. 반복자는 여러 부분에서 리스트와 비슷하지만, 리스트와 달리 인덱스를 사용해 반복자에서 원소를 선택할 수 없다.

리스트 연산자와 메서드를 사용하고 싶다면 zip 객체를 사용해 리스트를 만들어야 한다.

>>> list(zip(s, t))

[('a', 0), ('b', 1), ('c', 2)]

결과는 튜플들의 리스트가 된다. 이 예제에서는 각 튜플에 문자열에서 가져온 문자 하나와 리스트에서 이에 대응하는 원소 하나가 담겨 있다.

시퀀스들의 길이가 다르다면 길이가 짧은 시퀀스의 길이를 갖는 결과가 된다.

>>> list(zip('Anne', 'Elk'))

[('A', 'E'), ('n', 'l'), ('n', 'k')]

for 루프에 튜플 할당을 사용하면 튜플들의 리스트로 순회할 수 있다.

t = [('a', 0), ('b', 1), ('c', 2)]

for letter, number in t:

print(number, letter)

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.