可迭代物件是可以使用循環或可迭代函數迭代其所有元素的物件。列表、字串、字典、元組等都稱為可迭代物件。
在 Python 語言中,有多種方法可以檢查物件是否可迭代。讓我們一一看看。
在Python中,我們有兩種循環技術,一種是使用「for」循環,另一種是使用「while」循環。使用這兩個循環中的任何一個,我們可以檢查給定的物件是否可迭代。
在這個例子中,我們將嘗試使用“for”循環迭代一個物件並檢查它是否被迭代。以下是代碼。
l = ["apple",22,"orange",34,"abc",0.3] try: for i in l: print(i) print("Given object is iterable") except TypeError: print("Given object is not iterable")
apple 22 orange 34 abc 0.3 Given object is iterable
讓我們來看另一個範例,使用 for 迴圈檢查給定物件是否可迭代。
integer = 23454 try: for i in integer: print(i) print("Given object is iterable") except TypeError: print("Given object is not iterable")
以下是檢查給定物件是否可迭代的程式碼的輸出。
Given object is not iterable
Python 中有一個名為 iter() 的函數,它檢查給定的物件是否可迭代。
在這個範例中,我們將要迭代的物件和iter類別傳遞給hasattr()函數的函數。然後,使用 iter() 方法檢查該物件是否已迭代。
integer = 23454 if hasattr(integer, '__iter__'): my_iter = iter(integer) print("Given object is iterable") else: print("Given object is not iterable")
Given object is not iterable
在Python中,collections.abc模組提供了一個名為Iterable的抽象類,可以用來檢查物件是否可迭代。
在這裡,當我們想要檢查給定的物件是否可迭代時,我們必須將物件和「Iterable」抽象類別作為參數傳遞給 isinstance() 函數。
from collections.abc import Iterable integer = 23454 if isinstance(integer, Iterable): print("Given object is iterable") else: print("Given object is not iterable")
以下是產生的輸出 -
Given object is not iterable
讓我們再看一個範例來檢查給定物件是否可迭代。
from collections.abc import Iterable dic = {"name":["Java","Python","C","COBAL"],"Strength":[10,200,40,50,3]} if isinstance(dic, Iterable): print("Given object is iterable") else: print("Given object is not iterable")
上述程式的輸出顯示為 -
Given object is iterable
Python 中有“try”和“ except”,它們會處理發生的錯誤。這些也檢查給定物件是否可迭代。
這是一個使用 iter() 函數以及 try 和 except 來檢查給定物件是否可迭代的範例。
dic = {"name":["Java","Python","C","COBAL"],"Strength":[10,200,40,50,3]} try: iter(dic) print('Given object is iterable') except TypeError: print('Given object is not iterable')
Given object is iterable
以上是如何在Python中檢查一個物件是否可迭代?的詳細內容。更多資訊請關注PHP中文網其他相關文章!