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...