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的長度和引數中長度最短的物件相同。在所有引數長度相...