1、使用enumerate函式
l =[
'adam'
,'lisa'
,'bart'
,'paul'
]
for
index
,name
inenumerate(l
):
index +1
,'-'
,name
.lower
()
2、使用zip函式
for
index
,name
inzip
(range(1
,len(l
)+1),l
):
index
,'-'
,name
3、dict元素迭代訪問
d
=
for
(key
,value)in
d.items
():
("%s: %s"%(
key,
value
))
for
key ind
:
("%s: %s"%(
key,d[
key]))
for
key,
value
inzip(d
.keys
(),d
.values
()):
("%s: %s"%(
key,
value
))
如果仔細閱讀python的文件,還可以發現,dict除了values()方法外,還有乙個itervalues()方法,用itervalues()方法替代values()方法,迭代效果完全一樣。
for
key,
value
inzip(d
.iterkeys
(),d
.itervalues
()):
("%s: %s"%(
key,
value
))
那這兩個方法有何不同之處呢?
1.values()方法實際上把乙個 dict 轉換成了包含 value 的list。
2. 但是itervalues()方法不會轉換,它會在迭代過程中依次從 dict 中取出 value,所以 itervalues() 方法比 values() 方法節省了生成 list 所需的記憶體。
3. 列印 itervalues() 發現它返回乙個 物件,這說明在python中,for 迴圈可作用的迭代物件遠不止 list,tuple,str,unicode,dict等,任何可迭代物件都可以作用於for迴圈,而內部如何迭代我們通常並不用關心。
來自為知筆記(wiz)
Python學習(三) 迴圈 索引 迭代
好久沒有學習了 例1.迴圈遍歷 for letter in python 第乙個例項 print 當前字母 letter for fruit in fruits 第二個例項 print 當前水果 fruit print good bye 輸出結果如下 例2.序列索引迭代 len 和range len...
9 2 索引迭代
python中,迭代永遠是取出元素本身,而非元素的索引。對於有序集合,元素確實是有索引的。有的時候,我們確實想在 for 迴圈中拿到索引,怎麼辦?方法是使用enumerate 函式 l adam lisa bart paul for index,name in enumerate l print i...
Python3下的 並行迭代 與 按索引迭代
在使用python3時,有 並行迭代 與 按索引迭代 並行迭代相對來說好理解,現在介紹下 按索引迭代 廢話不多,直接上例項 demo 並行迭代 zip函式 names anne beth george damon bob ages 12,45,32,102,101,103 names 與 ages ...