Python 可迭代對象 iterable的具體使用
前置知識
如果給定一個 list 或 tuple,我們可以通過 for 循環來遍歷這個 list 或 tuple,這種遍歷我們稱為迭代(Iteration)
在 Python 中,迭代是通過 for … in 來完成的
lists = [1, 2, 3, 4, 5] for i in lists: print(i)
可迭代對象
for 循環不僅可以用在 list 或 tuple 上,還可以用在其他可迭代對象上
list 這種數據類型雖然有下標,但很多其他數據類型是沒有下標的,但是隻要是可迭代對象,無論有無下標,都可以迭代
dicts = { "a": 1, "b": 2 } for i in dicts: print(i) # 輸出結果 a b
如何判斷一個對象是否是可迭代對象?
from collections import Iterable lists = [1, 2, 3, 4, 5] dicts = { "a": 1, "b": 2 } print(isinstance(lists, Iterable)) print(isinstance(dicts, Iterable)) print(isinstance({"test"}, Iterable)) print(isinstance(1234, Iterable)) # 輸出結果 True True True False
enumerate 函數
循環列表的話,默認是隻返回元素值,如果想同時拿到元素值和對應的下標值呢?
enumerate 函數可以把 list 變成一個 索引-元素對的迭代對象,然後循環遍歷這個對象即可
lists = [1, 2, 3, 4, 5] # 看看是不是迭代對象 print(isinstance(enumerate(lists), Iterable)) # 循環 for ind, val in enumerate(lists): print(ind, val) # 輸出結果 True 0 1 1 2 2 3 3 4 4 5
多嵌套列表
for x, y in [(1, 1), (2, 4), (3, 9)]: print(x, y) # 輸出結果 1 1 2 4 3 9
總結
任何可迭代對象都可以作用於 for 循環,包括我們自定義的數據類型,隻要符合迭代條件,就可以使用 for 循環
到此這篇關於Python 可迭代對象 iterable的具體使用的文章就介紹到這瞭,更多相關Python 可迭代對象 iterable內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 一篇文章帶你學習Python3的高級特性(1)
- Python淺析迭代器Iterator的使用
- Python 數字轉化成列表詳情
- Python生成器與迭代器詳情
- Python高級特性之切片迭代列表生成式及生成器詳解