How to check if an object is iterable in Python? [duplicate] How to check if an object is iterable in Python? [duplicate] python python

How to check if an object is iterable in Python? [duplicate]


You can check for this using isinstance and collections.Iterable

>>> from collections.abc import Iterable # for python >= 3.6>>> l = [1, 2, 3, 4]>>> isinstance(l, Iterable)True

Note: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.9 it will stop working.


Try this code

def isiterable(p_object):    try:        it = iter(p_object)    except TypeError:         return False    return True


You don't "check". You assume.

try:   for var in some_possibly_iterable_object:       # the real work.except TypeError:   # some_possibly_iterable_object was not actually iterable   # some other real work for non-iterable objects.

It's easier to ask forgiveness than to ask permission.