Python 可迭代對象 iterable的具體使用
前置知識
如果給定一個 list 或 tuple,我們可以通過 for 循環(huán)來遍歷這個 list 或 tuple,這種遍歷我們稱為迭代(Iteration)
在 Python 中,迭代是通過 for ... in 來完成的
lists = [1, 2, 3, 4, 5] for i in lists: print(i)
可迭代對象
for 循環(huán)不僅可以用在 list 或 tuple 上,還可以用在其他可迭代對象上
list 這種數(shù)據類型雖然有下標,但很多其他數(shù)據類型是沒有下標的,但是只要是可迭代對象,無論有無下標,都可以迭代
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 函數(shù)
循環(huán)列表的話,默認是只返回元素值,如果想同時拿到元素值和對應的下標值呢?
enumerate 函數(shù)可以把 list 變成一個 索引-元素對的迭代對象,然后循環(huán)遍歷這個對象即可
lists = [1, 2, 3, 4, 5] # 看看是不是迭代對象 print(isinstance(enumerate(lists), Iterable)) # 循環(huán) 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 循環(huán),包括我們自定義的數(shù)據類型,只要符合迭代條件,就可以使用 for 循環(huán)
到此這篇關于Python 可迭代對象 iterable的具體使用的文章就介紹到這了,更多相關Python 可迭代對象 iterable內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python如何使用qrcode生成指定內容的二維碼并在GUI界面顯示
現(xiàn)在二維碼很流行,大街小巷大小商品廣告上的二維碼標簽都隨處可見,下面這篇文章主要給大家介紹了關于如何使用qrcode生成指定內容的二維碼并在GUI界面顯示的相關資料,需要的朋友可以參考下2022-09-09caffe binaryproto 與 npy相互轉換的實例講解
今天小編就為大家分享一篇caffe binaryproto 與 npy相互轉換的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07Python 實現(xiàn)大整數(shù)乘法算法的示例代碼
這篇文章主要介紹了Python 實現(xiàn)大整數(shù)乘法算法的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-09-09conda創(chuàng)建環(huán)境、安裝包、刪除環(huán)境步驟詳細記錄
對于生信工作者,有一個方便可用的環(huán)境可以極大地方便我們開展分析,conda可以讓我們在非root的情況下較為方便地切換不同的工作環(huán)境,下面這篇文章主要給大家介紹了關于conda創(chuàng)建環(huán)境、安裝包、刪除環(huán)境步驟的相關資料,需要的朋友可以參考下2022-08-08