如何在 Python 中检查对象是否可迭代?

pythonserver side programmingprogramming更新于 2024/1/4 23:56:00

可迭代对象是可以使用循环或可迭代函数迭代其所有元素的对象。列表、字符串、字典、元组等都称为可迭代对象。

在 Python 语言中,有多种方法可以检查对象是否可迭代。让我们一一看看。

使用循环

在 Python 中,我们有两种循环技术,一种是使用"for"循环,另一种是使用"while"循环。使用这两种循环中的任何一种,我们都可以检查给定的对象是否可迭代。

示例

在此示例中,我们将尝试使用"for"循环迭代对象并检查它是否可迭代。以下是代码。

l = ["apple",22,"orange",34,"abc",0.3]
try:
    for i in l:
        print(i)
    print("给定对象是可迭代的")
except TypeError:
    print("给定对象不可迭代")

输出

apple
22
orange
34
abc
0.3
给定对象是可迭代的

示例

让我们看另一个示例,使用 for 循环检查给定的对象是否可迭代。

integer = 23454
try:
   for i in integer:
      	print(i)
    	print("给定对象是可迭代的")
except TypeError:
    	print("给定对象不可迭代")

输出

以下是代码的输出,它检查给定的对象是否可迭代。

给定的对象不可迭代

使用 iter() 方法

在 Python 中,我们有一个名为 iter() 的函数,它检查给定的对象是否可迭代。

示例

在此示例中,我们将要迭代的对象和 iter 类传递给 hasattr() 函数。然后,使用 iter() 方法检查对象是否可迭代。

integer = 23454
if hasattr(integer, '__iter__'):
    my_iter = iter(integer)
    print("给定对象是可迭代的")
else:
    print("给定对象不可迭代")

输出

给定对象不可迭代

使用 collections.abc 模块

在 python 中,collections.abc 模块提供了名为 Iterable 的抽象类,可用于检查对象是否可迭代。

示例

在这里,当我们想要检查给定对象是否可迭代时,我们必须将对象和"Iterable"抽象类作为参数传递给 isinstance() 函数。

from collections.abc import Iterable
integer = 23454
if isinstance(integer, Iterable):
    print("给定对象是可迭代的")
else:
    print("给定对象不可迭代")

输出

以下是生成的输出 –

给定对象不可迭代

示例

让我们再看一个例子来检查给定的对象是否可迭代。

from collections.abc import Iterable
dic = {"name":["Java","Python","C","COBAL"],"Strength":[10,200,40,50,3]}
if isinstance(dic, Iterable):
    print("给定对象是可迭代的")
else:
    print("给定对象不可迭代的")

输出

上述程序的输出显示为 –

给定对象是可迭代的

使用 try 和 except

在 Python 中,我们有"try"和"except",用于处理任何错误(如果发生)。它们还检查给定对象是否可迭代。

示例

这是一个示例,它使用 iter() 函数以及 try 和 except 检查给定对象是否可迭代。

dic = {"name":["Java","Python","C","COBAL"],"Strength":[10,200,40,50,3]}
try:
    iter(dic)
    print('给定对象是可迭代的')
except TypeError:
    print('给定对象不可迭代')

输出

给定对象是可迭代的


相关文章