python中的zip函式使用

2021-07-24 19:28:16 字數 1999 閱讀 9197

1.函式的介紹

python zip函式使用

zip函式的用法: 接受任意多個(包括0個和1個)序列作為引數,返回乙個tuple列表。

接受一系列可迭代物件作為引數,將物件中對應的元素打包成乙個個tuple(元組),然後返回由這些tuples組成的list(列表)。若傳入引數的長度不等,則返回list的長度和引數中長度最短的物件相同。

>>> help(zip)

help on built-in

function zip in module __builtin__:

zip(...)

zip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)]

return a list of tuples, where each tuple contains the i-th element

from each of the argument sequences. the returned list is truncated

in length to the length of the shortest argument sequence.

返回值: a list of tuples

處理方式: 當多個列表的不同長度時候,取最少的乙個列表長度作為基準,進行處理

2. 功能演示

2.1 示例一

lista = ['a','b','c']

listb = [1,2,3]

listc = zip(lista,listb)

print listc

#輸出:

[('a', 1), ('b', 2), ('c', 3)]

將列表對應的元素,合成tuple,並存放成list返回

2.2 示例二

當兩個list大小不一樣時

lista = ['a','b','c']

listb = [1,2,3,4]

listc = zip(lista,listb)

print listc

listd = zip(listb,lista)

print listd

#輸出:

[('a', 1), ('b', 2), ('c', 3)]

[(1, 'a'), (2, 'b'), (3, 'c')]

當list大小不一致,則擷取共同的進行合併

2.3 示例三

lista = ['a','b','c']

listb = [1,2,3,]

listc = ['x','y','z']

d = zip(lista,listb,listc)

print d

#輸出[('a', 1, 'x'), ('b', 2, 'y'), ('c', 3, 'z')]

2.4 網上看到更深層次的引用

引用**:

* 二維矩陣變換(矩陣的行列互換)

比如我們有乙個由列表描述的二維矩陣

a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

通過python列表推導的方法,我們也能輕易完成這個任務

print [ [row[col] for row in a] for col in range(len(a[0]))]

[[1, 4, 7], [2, 5, 8], [3, 6, 9]]

另外一種讓人困惑的方法就是利用zip函式:

>>> a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

>>> zip(*a)

[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

>>> map(list,zip(*a))

[[1, 4, 7], [2, 5, 8], [3, 6, 9]]

Python中的zip函式使用示例

zip函式接受任意多個 包括0個和1個 序列作為引數,返回乙個tu程式設計客棧ple列表。具體意思不好用文本來表述,直接看示例 1.示例1 複製 如下 x 1,2,3 y 4,5,6 z 7,8,9 xyz zip x,y,z print xyz 執行的結果是 1,4,7 2,5,8 3,6,9 從...

Python中的Zip 函式

zip 函式用於將可迭代的物件作為引數,將物件中對應的元素打包成乙個個元組,然後返回由這些元組組成的列表。如果各個迭代器的元素個數不一致,則返回列表長度與最短的物件相同,利用 號操作符,可以將元組解壓為列表。zip 語法 zip iterable,引數說明 返回元組列表。以下例項展示了 zip 的使...

Python中的zip函式

定義 zip iterable,zip 是python的乙個內建函式,它接受一系列可迭代的物件作為引數,將物件中對應的元素打包成乙個個tuple 元組 然後返回由這些tuples組成的list 列表 若傳入引數的長度不等,則返回list的長度和引數中長度最短的物件相同。利用 號操作符,可以將list...