Home  >  Article  >  Backend Development  >  How to check if an object is iterable in Python?

How to check if an object is iterable in Python?

王林
王林forward
2023-08-25 22:05:051686browse

How to check if an object is iterable in Python?

An iterable object is an object whose all elements can be iterated over using a loop or iterable function. Lists, strings, dictionaries, tuples, etc. are all called iterable objects.

In the Python language, there are multiple ways to check whether an object is iterable. Let’s take a look one by one.

Use loop

In Python, we have two looping techniques, one is to use "for" loop, and the other is to use "while" loop. Using either of these two loops, we can check if a given object is iterable.

Example

In this example, we will try to iterate an object using a "for" loop and check if it is iterated. Below is the code.

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")

Output

apple
22
orange
34
abc
0.3
Given object is iterable

Example

Let's see another example using a for loop to check if a given object is iterable.

integer = 23454
try:
   for i in integer:
      print(i)
   print("Given object is iterable")
except TypeError:
   print("Given object is not iterable")

Output

The following is the output of the code that checks whether a given object is iterable.

Given object is not iterable

Use iter() method

There is a function called iter() in Python that checks whether the given object is iterable.

Example

In this example, we pass the object to be iterated and the iter class to the hasattr() function. Then, use the iter() method to check whether the object is iterated.

integer = 23454
if hasattr(integer, '__iter__'):
    my_iter = iter(integer)
    print("Given object is iterable")
else:
    print("Given object is not iterable")

Output

Given object is not iterable

Use collections.abc module

In Python, the collections.abc module provides an abstract class called Iterable, which can be used to check whether an object is iterable.

Example

Here, when we want to check whether a given object is iterable or not, we have to pass the object and "Iterable" abstract class as parameters to the isinstance() function.

from collections.abc import Iterable
integer = 23454
if isinstance(integer, Iterable):
    print("Given object is iterable")
else:	
    print("Given object is not iterable")

Output

The following is the generated output -

Given object is not iterable

Example

Let's look at another example to check if a given object is 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")

Output

The output of the above program is displayed as -

Given object is iterable

Use try and except

There are "try" and "except" in Python, which handle errors that occur. These also check if the given object is iterable.

Example

This is an example of using the iter() function along with try and except to check if a given object is iterable.

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')

Output

Given object is iterable

The above is the detailed content of How to check if an object is iterable in Python?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:tutorialspoint.com. If there is any infringement, please contact admin@php.cn delete