什么是迭代(iteration)呢?
給定一個list或者tuple,通過for循環來遍歷這個list或者tuple、這種遍歷就是迭代(iteration)。只要是可迭代的對象都可以進行迭代、怎么判斷一個對象是否是可迭代的對象呢?可以用collections模塊里面的iterable包的isinstance函數進行判斷:
>>> from collections import Iterable#載入模塊 >>> isinstance('abc',Iterable) #字符串是可迭代對象嗎? True >>> isinstance([1,2,3],Iterable) #list是可迭代對象嗎? True >>> isinstance({'dede':123},Iterable) #字典是可迭代對象嗎? True
對於字典的迭代:
>>> d={'python':1,'php':2,'java':3}
#默認迭代的是key
>>> for i in d:
print(i)
python
php
java
#自定義迭代key
>>> for key in d.keys():
print(key)
python
php
java
#迭代value
>>> for value in d.values():
print(value)
1
2
3
#同時迭代key,value
>>> for k , v in d.items():
print(k,v)
python 1
php 2
java 3
>>>
怎樣實現對列表和元組的下標循環呢?
兩種方法:
#對於一個列表 lanage=['python','php','java','c++'] 第一種: for x in range(len(lanage)): print(x,lanage[x]) 第二種: for i ,value in enumerate(lanage): print(i,value) #運行結果 0 python 1 php 2 java 3 c++
0 python 1 php 2 java 3 c++ >>> #在同一行輸出: for i ,value in enumerate(lanage): print(i,value ,end=',') 結果: 0 python,1 php,2 java,3 c++,
