Ответ 1
Вы можете проверить это, используя isinstance
и collections.Iterable
>>> from collections import Iterable
>>> l = [1, 2, 3, 4]
>>> isinstance(l, Iterable)
True
Возможный дубликат:
В Python, как определить, является ли объект итерабельным?
Как проверить, поддерживает ли объект Python итерацию, a.k.a итерируемый объект (см. определение
В идеале я хотел бы, чтобы функция, аналогичная isiterable(p_object)
, возвращала True или False (смоделирована после isinstance(p_object, type)
).
Вы можете проверить это, используя isinstance
и collections.Iterable
>>> from collections import Iterable
>>> l = [1, 2, 3, 4]
>>> isinstance(l, Iterable)
True
Вы не проверяете. Вы предполагаете.
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.
Проще просить прощения, чем спрашивать разрешения.
Попробуйте этот код
def isiterable(p_object):
try:
it = iter(p_object)
except TypeError:
return False
return True