Python 索引迭代

2022-08-17 06:12:24 字數 1977 閱讀 1076

1、使用enumerate函式

l =[

'adam'

,'lisa'

,'bart'

,'paul'

]

for

index

,name 

inenumerate(l

):

print

index +1

,'-'

,name

.lower

()

2、使用zip函式

for

index

,name 

inzip

(range(1

,len(l

)+1),l

):

print

index

,'-'

,name

3、dict元素迭代訪問

d 

=

for

(key

,value)in

d.items

():

print

("%s: %s"%(

key,

value

))

for

key ind

:

print

("%s: %s"%(

key,d[

key]))

for

key,

value

inzip(d

.keys

(),d

.values

()):

print

("%s: %s"%(

key,

value

))

如果仔細閱讀python的文件,還可以發現,dict除了values()方法外,還有乙個itervalues()方法,用itervalues()方法替代values()方法,迭代效果完全一樣。

for

key,

value

inzip(d

.iterkeys

(),d

.itervalues

()):

print

("%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 ...