Python zip函式的多引數用法

2021-10-25 04:02:52 字數 1169 閱讀 6178

zip函式我個人是這麼理解的,假如有多個引數,每個引數都是乙個列表,列表可以不等長,那麼我把每個列表看成一根蔥,我現在要切蔥花,把這一根根的蔥從上到下疊在一起,頭部對齊,用菜刀一刀一刀從前往後切。切到最短的一根蔥沒了為止。其它沒切完的蔥就不要了。最終得到每一刀從上到下的蔥花,這每一刀的蔥花本身是乙個迭代器,需要迴圈讀取。

a=[1

,2,3

,4,5

]b=[1

,2,3

,4]c=

[1,2

,3,4

]result=

zip(a,b,c)

print

(result)

cut=

1for i in result:

print

('第{}刀:'

.format

(cut)

,i) cut+=

1

#結果可知沒有第5刀,只有4刀

<

zipobject at 0x0000019516c21988

>

第1刀: (1,

1,1)

第2刀: (2,

2,2)

第3刀: (3,

3,3)

第4刀: (4,

4,4)

需要注意的一點是,當zip傳參時,想用1個引數代替多個多個引數需要使用*parm格式:

a=[1

,2,3

,4,5

]b=[1

,2,3

,4]c=

[1,2

,3,4

]# result=zip(a,b,c)

d=[a,b,c]

result=

zip(

*d)#或者result=zip(*(a,b,c))

print

(result)

cut=

1for i in result:

print

('第{}刀:'

.format

(cut)

,i) cut+=

1#結果是一樣的。

額外提一點,tensorflow裡的dataset.zip((x,y))有點類似zip(*(x,y))的效果

Python zip 函式的用法

python函式式程式設計之zip zip zip 函式接受0個或多個序列作為引數,返回乙個tuple列表。zip 函式具體的工作機制是,將每個列表中同一位置的元素取出來組成乙個元組,存放到乙個列表中,然後返回這個列表。舉例說明 x 1,2,3 y a b c z 4,5,6 zip xyz zip...

Python zip函式的使用

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

python zip 函式的使用

解釋 字尾為zip的檔案肯定都見過吧?zip是打包壓縮好的乙個檔案,所以,zip 函式也簡單的理解為打包壓縮函式,將不同個數 相同型別的字段結合在一起。官方定義為 zip 函式用於將可迭代的物件作為引數,將物件中對應的元素打包成乙個個元組,然後返回由這些元組組成的列表。如果各個迭代器的元素個數不一致...