Python 內建函式zip

2021-10-06 22:08:56 字數 2084 閱讀 1102

zip()將物件中對應的元素打包成乙個個元組,然後返回由這些元組組成的物件

作用:節約了記憶體

特點

要轉換為list才能輸出

元素的個數取決於最短的物件

解壓:利用*進行解壓

打包zip([iterable,...])

解壓zip(*obj)obj為打包格式的物件,zip([iterable,…])

in [1]

: a=[1

,2,3

] b=(1

,2,3

) c=

d=in [2]

: zip1=

zip(a,b)

list

(zip1)

out[2]

:[(1

,1),

(2,2

),(3

,3)]

# 元素的個數取決於最短的物件

in [3]

: zip2=

zip(c,d)

list

(zip2)

out[3]

:[(4

,'name'),

(5,'age')]

in [4]

: l1,l2=

zip(

*zip1)

# *zip1會報錯,zip(a,b)沒問題,不知道為什麼--

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

-valueerror traceback (most recent call last)

input-24

-b15e6d5468ef>

in--

-->

1 l1,l2=

zip(

*zip1)

valueerror:

not enough values to unpack (expected 2

, got 0)-

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

--in [5]

: l1,l2=

zip(

*zip

(a,b)

)# 拆出來的都是元組

in [6]

: l1

out[6]

:(1,

2,3)

in [7]

: l2

out[7]

:(1,

2,3)

# 同時迭代多個可迭代物件,結合enumerate()使用,enumerate()返回(index,value)元組序列

in [8]

:for i,

(a1, b1, c1, d1)

inenumerate

(zip

(a, b, c, d)):

print

(':, , , '

.format

(i,a1, b1, c1, d1)

)out[7]

:0:1

,1,4

, name

1:2,2,5

, age

Python 內建函式之zip

zip函式用於將可迭代物件作為引數,將可迭代物件中的元素打包成乙個個元祖,然後返回這些元祖組成的乙個zip物件,可以使用list 方法將這個zip物件轉化為列表,列表中的元素的資料型別依舊是元組型別。如果各個迭代器的元素個數不一致,則返回列表長度與最短的物件相同。l1 1,2,3 l2 a b c ...

python基礎 內建函式之zip

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

Python3 內建函式 zip

zip 是python的乙個內建函式,它接受一系列可迭代的物件作為引數,將物件中對應的元素按順序組合成乙個tuple,每個tuple中包含的是原有序列中對應序號位置的元素,然後返回由這些tuples組成的list。若傳入引數的長度不等,則返回list的長度和引數中長度最短的物件相同。在所有引數長度相...