迭代(iteration)
給定乙個list或tuple或......,通過for
迴圈來遍歷這個list或tuple或......,這種遍歷稱為迭代。
1.dict
迭代key:
>>> d =
>>>
for key in d:
... print(key)
...a
cb
迭代value:
for value in d.values()
同時迭代key和value:
for k, v in d.items()
2.字串
>>>
for ch in
'abc':
... print(ch)
...a
bc
如何判斷乙個物件是可迭代物件呢?
通過collections模組的iterable型別判斷:
>>>
from collections import iterable
>>> isinstance('abc', iterable) # str是否可迭代
true
>>> isinstance([1,2,3], iterable) # list是否可迭代
true
>>> isinstance(123, iterable) # 整數是否可迭代
false
對list實現下標迴圈
enumerate
函式可以把乙個list變成索引-元素對
>>>
for i, value in enumerate(['a', 'b', 'c']):
... print(i, value)
...0 a
1 b2 c
上面的for
迴圈裡,同時引用了兩個變數,在python裡是很常見的,比如下面的**:
請使用迭代查詢乙個list中最小和最大值,並返回乙個tuple>>>
for x, y in [(1, 1), (2, 4), (3, 9)]:
... print(x, y)
...112
439
deffindminandmax(l):iflen(l)>0:
min=l[0]
max=l[0]
else:
return(none,none)
foriinl:
if notisinstance(i,(float,int)):
print('type error')
return(none,none)
foriinl:
ifi>max:
max=i
ifireturn(min, max)
# 測試
iffindminandmax() != (none,none):
print('測試失敗!')
eliffindminandmax([7]) != (7, 7):
print('測試失敗!')
eliffindminandmax([7, 1]) != (1, 7):
print('測試失敗!')
eliffindminandmax([7, 1, 3, 9, 5]) != (1, 9):
print('測試失敗!')
else:
print('測試成功!')
Python學習筆記 Python之索引迭代
1.什麼是索引迭代一般情況下,只有迭代的是取出元素的本身,而非元素的索引,但是對於有序集合,其元素是有索引的 那什麼是有序集合呢?list tuple str set,並無序集合有key value對 dict 怎麼獲取索引呢?使用enumerate 函式 l adam lisa bart paul...
python中for迴圈的底層實現機制 迭代
在python中,存在2種迴圈方式 for迴圈和while迴圈。while迴圈的實現很簡單,其本質就是乙個條件語句,自定義條件,當條件滿足的時候,不斷執行while 塊。但是for迴圈,究竟是怎麼回事呢?說到for迴圈,那麼就不能不講到迭代了 迭代 python中迭代物件分2種 迭代器物件 iter...
Python入門之(3 3)迴圈結構
目錄 迴圈結構 1.1while迴圈 1.2for迴圈 1.3break和continue語句 1.4迴圈中的else語句 1.5巢狀迴圈 1.6字串的遍歷迴圈 1.7pass語句 迴圈結構是結構化程式設計中常用的結構,可以簡化程式,或解決順序結構和選擇結構無法解決的問題。迴圈是指在滿足一定條件的情...