파이썬 3
for f, b in zip(foo, bar):
print(f, b)
zip
더 짧 foo
거나 멈출 때 bar
멈 춥니 다.
에서 파이썬 3 , zip
같은 튜플의 반복자 반환 itertools.izip
Python2에 있습니다. 튜플 목록을 얻으려면을 사용하십시오 list(zip(foo, bar))
. 두 반복자가 모두 소모 될 때까지 압축하려면 itertools.zip_longest를 사용하십시오
.
파이썬 2
에서 파이썬 2 , zip
튜플의 목록을 반환합니다. 이것은 크 foo
거나 bar
크지 않을 때 좋습니다. 둘 다 대규모 인 경우 형성 zip(foo,bar)
은 불필요하게 대규모 임시 변수이며 itertools.izip
또는
로 대체해야하며 itertools.izip_longest
목록 대신 반복자를 반환합니다.
import itertools
for f,b in itertools.izip(foo,bar):
print(f,b)
for f,b in itertools.izip_longest(foo,bar):
print(f,b)
izip
foo
또는 bar
소진되면 중지합니다 .
izip_longest
때 모두 중지 foo
및 bar
배출된다. 짧은 반복기가 소진되면 해당 반복기에 해당하는 위치에 izip_longest
튜플이 생성 None
됩니다. 원하는 경우 fillvalue
외에 다른 것을 설정할 수도 있습니다 None
. 전체 내용은 여기를 참조하십시오 .
또한 그 zip
와 zip
같은 형제들은 임의의 수의 이터 러블을 인수로 받아 들일 수 있습니다. 예를 들어
for num, cheese, color in zip([1,2,3], ['manchego', 'stilton', 'brie'],
['red', 'blue', 'green']):
print('{} {} {}'.format(num, color, cheese))
인쇄물
1 red manchego
2 blue stilton
3 green brie
izip
하나 (도하지만izip
/zip
훨씬 청소기 모양)?