Python中的`zip()`函數(shù)用于將多個(gè)可迭代對(duì)象打包成一個(gè)元組列表,每個(gè)元組包含來(lái)自每個(gè)可迭代對(duì)象的相應(yīng)元素。它可以在迭代時(shí)同時(shí)遍歷多個(gè)序列,非常方便。
`zip()`函數(shù)的語(yǔ)法如下:
zip(*iterables)
其中,`iterables`是一個(gè)或多個(gè)可迭代對(duì)象,可以是列表、元組、集合等。它們會(huì)被打包成一個(gè)元組列表。
下面是`zip()`函數(shù)的一些常見(jiàn)用法:
1. 打包多個(gè)列表:
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
result = zip(list1, list2)
print(list(result)) # [(1, 'a'), (2, 'b'), (3, 'c')]
2. 打包多個(gè)元組:
tuple1 = (1, 2, 3)
tuple2 = ('a', 'b', 'c')
result = zip(tuple1, tuple2)
print(list(result)) # [(1, 'a'), (2, 'b'), (3, 'c')]
3. 打包多個(gè)集合:
set1 = {1, 2, 3}
set2 = {'a', 'b', 'c'}
result = zip(set1, set2)
print(list(result)) # [(1, 'a'), (2, 'b'), (3, 'c')]
4. 遍歷多個(gè)序列:
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
for x, y in zip(list1, list2):
print(x, y) # 1 a, 2 b, 3 c
5. 不同長(zhǎng)度的序列:
當(dāng)被打包的可迭代對(duì)象長(zhǎng)度不一致時(shí),`zip()`函數(shù)會(huì)以最短長(zhǎng)度的對(duì)象為準(zhǔn),多余的元素將被忽略。
list1 = [1, 2, 3]
list2 = ['a', 'b']
result = zip(list1, list2)
print(list(result)) # [(1, 'a'), (2, 'b')]
`zip()`函數(shù)返回一個(gè)迭代器,可以使用`list()`函數(shù)將其轉(zhuǎn)換為列表進(jìn)行顯示或進(jìn)一步處理。使用`zip()`函數(shù)可以方便地同時(shí)遍歷多個(gè)序列,對(duì)于需要處理多個(gè)對(duì)應(yīng)關(guān)系的情況非常有用。