How to check if an object is iterable in Python?

王林
Release: 2023-08-25 22:05:05
forward
1687 people have browsed it

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")
Copy after login

Output

apple
22
orange
34
abc
0.3
Given object is iterable
Copy after login

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")
Copy after login

Output

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

Given object is not iterable
Copy after login
Copy after login
Copy after login

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")
Copy after login

Output

Given object is not iterable
Copy after login
Copy after login
Copy after login

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")
Copy after login

Output

The following is the generated output -

Given object is not iterable
Copy after login
Copy after login
Copy after login

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

Copy after login

Output

The output of the above program is displayed as -

Given object is iterable
Copy after login
Copy after login

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

Copy after login

Output

Given object is iterable
Copy after login
Copy after login

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!

Related labels:
source:tutorialspoint.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template