如何在Python中檢查一個物件是否可迭代?

王林
發布: 2023-08-25 22:05:05
轉載
1687 人瀏覽過

如何在Python中檢查一個物件是否可迭代?

可迭代物件是可以使用循環或可迭代函數迭代其所有元素的物件。列表、字串、字典、元組等都稱為可迭代物件。

在 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
登入後複製
登入後複製
登入後複製

使用 iter() 方法

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
登入後複製
登入後複製
登入後複製

使用collections.abc模組

在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
登入後複製
登入後複製

使用 try 和 except

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中文網其他相關文章!

相關標籤:
來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板