Python——迭代

python語言的for循環(huán)抽象程度很高,只要是可迭代的對(duì)象就可以使用for循環(huán)。

判斷一個(gè)對(duì)象是可迭代對(duì)象,使用collections模塊的Iterable類型來判斷。

>>>from collections import Iterable

>>>isinstance('abc', Iterable)# str是否可迭代

True

>>>isinstance([1,2,3], Iterable)# list是否可迭代

True

>>>isinstance(123, Iterable)# 整數(shù)是否可迭代

False

對(duì)一個(gè)字典進(jìn)行遍歷,一般情況下默認(rèn)都是遍歷dict的key值,遍歷的結(jié)果順序很可能不一樣,因?yàn)樵赿ict中是沒有順序的。

>>>d = {'a':1,'b':2,'c':3}

>>>for key in d:

...print key

...

a

c

b

如果要迭代value,可以用for value in d.itervalues(),如果要同時(shí)迭代key和value,可以用for k, v in d.iteritems()。

如果要對(duì)list實(shí)現(xiàn)類似Java那樣的下標(biāo)循環(huán)怎么辦?Python內(nèi)置的enumerate函數(shù)可以把一個(gè)list變成索引-元素對(duì),這樣就可以在for循環(huán)中同時(shí)迭代索引和元素本身:

>>>for i, value in enumerate(['A','B','C']):

...print i, value

...

0 A

1 B

2 C

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 最近在使用Python進(jìn)行數(shù)據(jù)處理的過程中,使用for循環(huán)來進(jìn)行迭代處理的次數(shù)比較多,于是萌發(fā)了要寫一篇文章來總結(jié)...
    黑洞王閱讀 1,815評(píng)論 0 0
  • 住的這個(gè)小區(qū)也建好幾年了,怎么周圍一直在裝修,鉆啊鉆啊。于是開大音樂,擋住鉆的聲音,周期性重復(fù)的聲音實(shí)在是亂人心緒...
    KevinCool閱讀 878評(píng)論 1 1
  • Python 是一種相當(dāng)高級(jí)的語言,通過 Python 解釋器把符合語法的程序代碼轉(zhuǎn)換成 CPU 能夠執(zhí)行的機(jī)器碼...
    Python程序媛閱讀 2,037評(píng)論 0 3
  • 迭代是訪問集合元素的一種方式。迭代器是一個(gè)可以記住遍歷的位置的對(duì)象。迭代器對(duì)象從集合的第一個(gè)元素開始訪問,直到所有...
    youngkun閱讀 659評(píng)論 0 0
  • https://zhuanlan.zhihu.com/p/26123333 要完全理解透生成器,需要我們先掌握三個(gè)...
    Lauzanhing閱讀 459評(píng)論 0 0

友情鏈接更多精彩內(nèi)容