type(obj)
- >list
を使用して、オブジェクトがPythonのリストであるかどうかを検出する方法はありますか?オブジェクトがpythonのリストのリストかどうかを確認しますか?
しかし、オブジェクトのように、フォームのリストのリストであれば、どのように検出することができます:あなたはあなたのリスト内のすべてのの項目がリストされ、あなたが何かを行うことができことを確認するには
[['a','b']['a','b'][][]]
type(obj)
- >list
を使用して、オブジェクトがPythonのリストであるかどうかを検出する方法はありますか?オブジェクトがpythonのリストのリストかどうかを確認しますか?
しかし、オブジェクトのように、フォームのリストのリストであれば、どのように検出することができます:あなたはあなたのリスト内のすべてのの項目がリストされ、あなたが何かを行うことができことを確認するには
[['a','b']['a','b'][][]]
このように:
if all(isinstance(i, list) for i in lst):
# All of the items are lists
isinstance(i, list)
type(i) == type(list)
かtype(i) == list)
を書くより良い方法です。all()
は、シーケンス内のすべての項目がTrue
の場合はTrue
を返します。 True
でない場合はFalse
が返されます。使用isinstance()
は、特定のタイプをチェックする:全て要素が特定のタイプであるかどうかをテストするために使用all()
>>> isinstance([], list)
True
:
all(isinstance(elem, list) for elem in list_of_lists)
all()
短絡します。いずれかのテストでFalse
が返された場合、ループは終了し、False
が返されます。 1つの要素を除くすべての要素がTrue
を返す場合のみ、all()
は繰り返し可能な要素のすべての要素を調べる必要があります。
'type(i)== type(list)'新しい方はとにかく動作します。 : - P 'タイプ(i)はリストです'いくつかのメリットを持つことができます。 * exact *型をテストします(サブクラスは許されません)。 –