web-dev-qa-db-ja.com

Pythonでオブジェクトが反復可能かどうかを確認するにはどうすればよいですか?

可能性のある複製:
Pythonでは、オブジェクトが反復可能かどうかをどのように判断しますか?

Pythonオブジェクトが反復をサポートしているかどうか、つまり反復可能なオブジェクト( 定義を参照

理想的には、TrueまたはFalseを返すisiterable(p_object)に類似した関数が必要です(isinstance(p_object, type)をモデルにしています)。

23
Boaz

これはisinstancecollections.Iterableを使用して確認できます

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

「チェック」しません。あなたが仮定します。

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.

許可を求めるよりも許しを求める方が簡単です。

5
S.Lott

このコードを試してください

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