使用Python的zip()函數來合併序列

Python的zip()函數可以讓我們將多個序列合併成一個新的序列,讓我們可以更容易地對多個序列進行操作。

zip()函數可以接受任意多個序列,並將它們合併成一個新的序列,新序列中的每個元素都是一個元組,元組中的每個元素來自原序列中的對應位置。

舉個例子,假設我們有兩個序列:

list1 = [1, 2, 3]
list2 = [4, 5, 6]

我們可以使用zip()函數將它們合併成一個新的序列:

zipped_list = list(zip(list1, list2))

print(zipped_list)
# [(1, 4), (2, 5), (3, 6)]

可以看到,新序列中的每個元素都是一個元組,元組中的每個元素來自原序列中的對應位置。

zip()函數還可以接受可選參數fillvalue,該參數可以用於指定當原序列長度不同時,新序列中的元素值。舉個例子,假設我們有兩個序列:

list1 = [1, 2, 3]
list2 = [4, 5]

如果我們不指定fillvalue參數,則zip()函數會忽略list2中多出來的元素:

zipped_list = list(zip(list1, list2))

print(zipped_list)
# [(1, 4), (2, 5)]

但是,如果我們指定fillvalue參數,則zip()函數會將fillvalue參數的值放入新序列中:

zipped_list = list(zip(list1, list2, fillvalue=0))

print(zipped_list)
# [(1, 4), (2, 5), (3, 0)]

可以看到,新序列中的最後一個元素是(3, 0),其中0就是我們指定的fillvalue參數的值。

總結一下,Python的zip()函數可以讓我們將多個序列合併成一個新的序列,新序列中的每個元素都是一個元組,元組中的每個元素來自原序列中的對應位置。此外,zip()函數還可以接受可選參數fillvalue,該參數可以用於指定當原序列長度不同時,新序列中的元素值。

Categorized in:

Tagged in: