Python入門之for迴圈迭代

2021-08-20 10:14:12 字數 2679 閱讀 6807

迭代(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裡是很常見的,比如下面的**:

>>> 

for x, y in [(1, 1), (2, 4), (3, 9)]:

... print(x, y)

...112

439

請使用迭代查詢乙個list中最小和最大值,並返回乙個tuple

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語句 迴圈結構是結構化程式設計中常用的結構,可以簡化程式,或解決順序結構和選擇結構無法解決的問題。迴圈是指在滿足一定條件的情...