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ù)據(jù)類型雖然有下標(biāo),但很多其他數(shù)據(jù)類型是沒有下標(biāo)的,但是只要是可迭代對象,無論有無下標(biāo),都可以迭代
dicts = { "a": 1, "b": 2 } for i in dicts: print(i) # 輸出結(jié)果 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)) # 輸出結(jié)果 True True True False
enumerate 函數(shù)
循環(huán)列表的話,默認(rèn)是只返回元素值,如果想同時拿到元素值和對應(yīng)的下標(biāo)值呢?
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) # 輸出結(jié)果 True 0 1 1 2 2 3 3 4 4 5
多嵌套列表
for x, y in [(1, 1), (2, 4), (3, 9)]: print(x, y) # 輸出結(jié)果 1 1 2 4 3 9
總結(jié)
任何可迭代對象都可以作用于 for 循環(huán),包括我們自定義的數(shù)據(jù)類型,只要符合迭代條件,就可以使用 for 循環(huán)
到此這篇關(guān)于Python 可迭代對象 iterable的具體使用的文章就介紹到這了,更多相關(guān)Python 可迭代對象 iterable內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python中可變和不可變對象的深入講解
- python獲取對象信息的實(shí)例詳解
- python面向?qū)ο笾惖睦^承詳解
- 簡單談?wù)凱ython面向?qū)ο蟮南嚓P(guān)知識
- Python面向?qū)ο笾蓡T相關(guān)知識總結(jié)
- Python面向?qū)ο笾畠?nèi)置函數(shù)相關(guān)知識總結(jié)
- python面向?qū)ο蟀鎸W(xué)生信息管理系統(tǒng)
- python面向?qū)ο蠡A(chǔ)之常用魔術(shù)方法
- python學(xué)習(xí)之可迭代對象、迭代器、生成器
- Python中的類對象示例詳解
- Python 的可變和不可變對象詳情
相關(guān)文章
Python如何使用qrcode生成指定內(nèi)容的二維碼并在GUI界面顯示
現(xiàn)在二維碼很流行,大街小巷大小商品廣告上的二維碼標(biāo)簽都隨處可見,下面這篇文章主要給大家介紹了關(guān)于如何使用qrcode生成指定內(nèi)容的二維碼并在GUI界面顯示的相關(guān)資料,需要的朋友可以參考下2022-09-09caffe binaryproto 與 npy相互轉(zhuǎn)換的實(shí)例講解
今天小編就為大家分享一篇caffe binaryproto 與 npy相互轉(zhuǎn)換的實(shí)例講解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07Python 實(shí)現(xiàn)大整數(shù)乘法算法的示例代碼
這篇文章主要介紹了Python 實(shí)現(xiàn)大整數(shù)乘法算法的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09python__new__內(nèi)置靜態(tài)方法使用解析
這篇文章主要介紹了python__new__內(nèi)置靜態(tài)方法使用解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01Django使用HTTP協(xié)議向服務(wù)器傳參方式小結(jié)
本文主要介紹了Django使用HTTP協(xié)議向服務(wù)器傳參方式小結(jié),用戶發(fā)送請求時攜帶的參數(shù)后端需要使用,而不同的發(fā)送參數(shù)的方式對應(yīng)了不同的提取參數(shù)的方式,本文就詳細(xì)的介紹一下2021-08-08關(guān)于python通過新建環(huán)境安裝tfx的問題
這篇文章主要介紹了python安裝tfx/新建環(huán)境,新建一個環(huán)境tfx專門用來運(yùn)行流水線,這個環(huán)境安裝python3.8,對python安裝tfx相關(guān)知識感興趣的朋友一起看看吧2022-05-05conda創(chuàng)建環(huán)境、安裝包、刪除環(huán)境步驟詳細(xì)記錄
對于生信工作者,有一個方便可用的環(huán)境可以極大地方便我們開展分析,conda可以讓我們在非root的情況下較為方便地切換不同的工作環(huán)境,下面這篇文章主要給大家介紹了關(guān)于conda創(chuàng)建環(huán)境、安裝包、刪除環(huán)境步驟的相關(guān)資料,需要的朋友可以參考下2022-08-08Python DNS查詢放大攻擊實(shí)現(xiàn)原理解析
這篇文章主要介紹了Python DNS查詢放大攻擊實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-10-10