Python-zip()函式的一些相關知識
Python內置help()的解釋
回傳一個元組迭代器,其中第i個元組包含每個引數序列或可迭代物件中的第i個元素,當最短的可迭代輸入耗盡時,迭代器將停止,使用單個可迭代引數,它將回傳1元組的迭代器,沒有引數,它將回傳一個空的迭代器,
功能演示
uppercase = ['A', 'B', 'C']
lowercase = ['a', 'b', 'c']
for x, y in zip(uppercase, lowercase):
print(x, y)
>>> 以下是輸出結果
A a
B b
C c
可以看到zip將uppercase和lowercase同步按照迭代順序提取元素
tip:不限于兩個可迭代物件,可以添加任意多個
uppercase = ['A', 'B', 'C']
lowercase = ['a', 'b', 'c']
numbers = [1, 2, 3]
for x, y, z in zip(uppercase, lowercase, numbers):
print(x, y, z)
>>>
A a 1
B b 2
C c 3
來張更直觀的圖片

zip()物件轉換為串列
b = ["red", "green", "blue"]
c = ["leopard", "cheetah", "jaguar"]
print(list(zip(b, c)))
>>>
[('red', 'leopard'), ('green', 'cheetah'), ('blue', 'jaguar')]
將zip()物件轉換成字典
b = ["red", "green", "blue"]
f = ["strawberry", "kiwi", "blueberry"]
print(dict(zip(b, f)))
>>>
{'red': 'strawberry', 'green': 'kiwi', 'blue': 'blueberry'}
其他
此時你可能會意識到一個問題,如果兩個可迭代輸入長度不一致會怎么樣?
當zip()函式遇到可迭代輸入不一致時,會回傳最短的那一個可迭代輸入的最后一個元素后停止
uppercase = ['A', 'B', 'C', 'D', 'E']
lowercase = ['a', 'b', 'c', 'd']
numbers = [1, 2, 3]
for x, y, z in zip(uppercase, lowercase, numbers):
print(x, y, z)
>>>
A a 1
B b 2
C c 3
我們還應再來學習一下迭代(Iteration)、迭代器物件(iterable)、迭代器(iterator )的概念:
Iteration是計算機科學的通用術語,它是指對一組元素執行一項操作,一次執行一個元素,一個很好的例子是回圈 -它適用于每個單獨的專案,直到整個專案集運行完畢為止,
Iterable是可以遍歷的物件(譯者注:在Python中所有東西都是object, 比如說變數,容器,類),iterable是可以產生iterator的object,
iterator是表示資料流的物件,它一次回傳一個元素的資料,它還會記住其在迭代程序中的位置,本質上,它控制應如何迭代可迭代物件,
參考自[天池大資料科研平臺][Python中zip()函式的解釋和可視化]-2020-02-21-https://mp.weixin.qq.com/s?src=11×tamp=1610459538&ver=2824&signature=5WcAAdljx-hd*nhQzJ3-rQpNYmtyLq5g8az3xJACGRCmajjHJnBOnndarG*suCFv-UTvwJboJqp0no4TZLeh5nuL6v1sbVRjOCEEONqJnM4Shj916NLbhOj4HygVS4GM&new=1
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/248098.html
標籤:python
上一篇:Python基礎(下篇)
