Подтвердить что ты не робот

Как проверить, является ли объект итерабельным в Python?

Возможный дубликат:
В Python, как определить, является ли объект итерабельным?

Как проверить, поддерживает ли объект Python итерацию, a.k.a итерируемый объект (см. определение

В идеале я хотел бы, чтобы функция, аналогичная isiterable(p_object), возвращала True или False (смоделирована после isinstance(p_object, type)).

4b9b3361

Ответ 1

Вы можете проверить это, используя isinstance и collections.Iterable

>>> from collections import Iterable
>>> l = [1, 2, 3, 4]
>>> isinstance(l, Iterable)
True

Ответ 2

Вы не проверяете. Вы предполагаете.

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.

Проще просить прощения, чем спрашивать разрешения.

Ответ 3

Попробуйте этот код

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