Python入門 迭代的使用

2021-07-24 23:48:23 字數 1823 閱讀 6377

對乙個集合,無論有無序,還可以依次取出集合的每乙個元素

集合

型別有序

list、stuple、str、unicode

無序set

無序並且具有key-value

dict

迭代在python中,可以說就是for迴圈,

但是迭代又與一般的下標訪問陣列不同,前者只關心迭代結果,不關心內部的實現

可取得索引,用到enumerate()函式,按照自己定義索引輸出,也可以用zip()函式

#enumerate()函式,可以把['a','b','c']變成[(0,'a'),(1,'b'),(2,'c')]

#可以發現,enumerate()函式把1個元素變成了2個元素,所以需要兩個索引接收,例:

for index,name in enumerate(l)

print index,'-',name

#zip()函式,可以把2個list變為1個list,例:

print zip([1,2,3],['a','b','c'])

#列印返回 [(1,'a'),(2,'b'),(3,'c')]

#例:#從0開始索引,用enumerate():

for index,name in enumerate(l):

print index,'-',name

#從1開始索引,用zip():

for index,name in zip(range(1,len(l)+1),l):

print index,'-',name

#方法一:

#使用dict.values(),可以把dict轉換為乙個包含所有value的list

#例:d=

for v in dict.values():

print v

#方法二:

#使用itervalues(),效果與values相同

#例:for v in dict.itervalues():

print v

!上述兩種方法有什麼不同?

1.values() 方法實際上把乙個 dict 轉換成了包含 value 的list。

2. 但是itervalues() 方法不會轉換,它會在迭代過程中依次從 dict 中取出 value,

所以 itervalues() 方法比 values() 方法節省了生成 list 所需的記憶體。

3. 列印itervalues() 發現它返回乙個 < dictionary-valueiterator > 物件,

因為在python中,for 迴圈可作用的迭代物件遠不止list,tuple,str,unicode,dict等,

任何可迭代物件都可以作用於for迴圈,而內部如何迭代我們通常並不用關心。

#方法一:

#使用items(),返回乙個list,包含tuple的list

#方法二:

#使用iteritems(),不用轉換為list,直接迭代給出tuple

#例:d=

sum=0.0

for key,value in d.iteritems():

sum=sum+value

print key,'-',value

print sum

Python入門(六) 迭代

1 迭代的概念 在python中,如果給定乙個list或tuple,我們可以通過for迴圈來遍歷這個list或tuple,這種遍歷我們成為迭代 iteration 在python中,迭代是通過 for in 來完成的。迭代操作就是對於乙個集合,無論該集合是有序 還是無序,我們用 for 迴圈總是可以...

python迭代器入門

迭代器是乙個可以記住遍歷的位置的物件。迭代器物件從集合的第乙個元素開始訪問,直到所有的元素被訪問完結束。迭代器只能往前不會後退。可以使用 hasattr 判斷物件是否是 可迭代的 hasattr str iter true使用內建函式 iter 定義迭代器物件。lst 1 2,3 4 iter ls...

python迭代器使用 Python迭代器的用法

我們在前面使用過語句 for x in列表物件 這就表示列表物件是可迭代的 iterable 那麼如何判斷某個物件是否可迭代呢?答案是可以使用collections.iterable類來判斷。如下面的 所示,列表是可迭代的,整數是不可迭代的,字串是可迭代的。from collections impo...