Python——迭代

python語言的for循環抽象程度很高,只要是可迭代的對象就可以使用for循環。

判斷一個對象是可迭代對象,使用collections模塊的Iterable類型來判斷。

>>>from collections import Iterable

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

True

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

True

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

False

對一個字典進行遍歷,一般情況下默認都是遍歷dict的key值,遍歷的結果順序很可能不一樣,因為在dict中是沒有順序的。

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

>>>for key in d:

...print key

...

a

c

b

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

如果要對list實現類似Java那樣的下標循環怎么辦?Python內置的enumerate函數可以把一個list變成索引-元素對,這樣就可以在for循環中同時迭代索引和元素本身:

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

...print i, value

...

0 A

1 B

2 C

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

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