Python中的`zip()`函數用于將多個可迭代對象打包成一個元組列表,每個元組包含來自每個可迭代對象的相應元素。它可以在迭代時同時遍歷多個序列,非常方便。
`zip()`函數的語法如下:
zip(*iterables)
其中,`iterables`是一個或多個可迭代對象,可以是列表、元組、集合等。它們會被打包成一個元組列表。
下面是`zip()`函數的一些常見用法:
1. 打包多個列表:
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
result = zip(list1, list2)
print(list(result)) # [(1, 'a'), (2, 'b'), (3, 'c')]
2. 打包多個元組:
tuple1 = (1, 2, 3)
tuple2 = ('a', 'b', 'c')
result = zip(tuple1, tuple2)
print(list(result)) # [(1, 'a'), (2, 'b'), (3, 'c')]
3. 打包多個集合:
set1 = {1, 2, 3}
set2 = {'a', 'b', 'c'}
result = zip(set1, set2)
print(list(result)) # [(1, 'a'), (2, 'b'), (3, 'c')]
4. 遍歷多個序列:
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. 不同長度的序列:
當被打包的可迭代對象長度不一致時,`zip()`函數會以最短長度的對象為準,多余的元素將被忽略。
list1 = [1, 2, 3]
list2 = ['a', 'b']
result = zip(list1, list2)
print(list(result)) # [(1, 'a'), (2, 'b')]
`zip()`函數返回一個迭代器,可以使用`list()`函數將其轉換為列表進行顯示或進一步處理。使用`zip()`函數可以方便地同時遍歷多個序列,對于需要處理多個對應關系的情況非常有用。