檢測物件是否可迭代

2022-09-23 05:16:57 字數 705 閱讀 4239

#

判斷是否可迭代,使用iter函式來測試

defisiterable(obj):

try:

iter(obj)

return

true

except

typeerror:

return

false

aa='

1232342ab

'print

(isiterable(aa))

bb=[1,2,3,4]

print

(isiterable(bb))

cc=123

print

(isiterable(cc))

dd=(123,4,6)

print

(isiterable(dd))

#在編寫接受多種型別輸人的函式時,經常使用這個功能。常見的案例就是寫接受任意序列型別(列表、元組、n 維陣列),甚至是一個迭代器的函式時使用這項功能。

#你可以先檢查物件是否是一個列表(或者一個 numpy 陣列),如果不是就把它轉換為列表:

ifnot isinstance(x, list) and

isiterable(x):

x = list(x)

true

true

false

true

>>>