Python 的 zip
函數用于將可迭代的對象作為參數夏哭,將多個對象中的對應位置的元素打包成一個個元組,然后返回由這些元組組成的列表。如果每個迭代器的元素個數不一致弱匪,則最終的列表長度與最短的對象相同柠逞。以下昧狮,我們演示一下 zip
的定義和用法:
def main():
# zip可以將多個list打包成一個list。像一個打包器
a = [1, 2, 3]
b = [4, 5, 6]
# 輸出一個zip對象:<zip object at 0x0000024FDB56D508>
print(zip(a, b))
c = list(zip(a, b))
print(c)
# [(1, 4), (2, 5), (3, 6)]
# 并且可以對zip之后的的c中的每個元素進行處理
for i, j in zip(a, b):
print(i / 2, j * 2)
# 對多個list進行zip
d = list(zip(a, a, b))
print(d)
if __name__ == '__main__':
main()
小伙伴們會發(fā)現 print(zip(a, b))
輸出的是一個對象 <zip object at 0x0000024FDB56D508>
板壮,而并不是一個列表逗鸣,這是因為在 Python3.x 中,為了減少內存绰精,zip
方法返回的是一個對象撒璧,如果需要展示列表,那么笨使,小伙伴們需要調用 list()
方法進行轉換卿樱。