Home > Article > Backend Development > 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.
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.
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")
apple 22 orange 34 abc 0.3 Given object is iterable
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")
The following is the output of the code that checks whether a given object is iterable.
Given object is not iterable
There is a function called iter() in Python that checks whether the given object is iterable.
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")
Given object is not iterable
In Python, the collections.abc module provides an abstract class called Iterable, which can be used to check whether an object is iterable.
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")
The following is the generated output -
Given object is not iterable
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")
The output of the above program is displayed as -
Given object is iterable
There are "try" and "except" in Python, which handle errors that occur. These also check if the given object is iterable.
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')
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!