Pythonで変数が辞書であるかどうかを確認するにはどうすればいいですか? 質問する

Pythonで変数が辞書であるかどうかを確認するにはどうすればいいですか? 質問する

Python で変数が辞書であるかどうかをどのように確認しますか?

たとえば、辞書が見つかるまで辞書内の値をループしたいとします。次に、見つかった辞書をループします。

dict = {'abc': 'abc', 'def': {'ghi': 'ghi', 'jkl': 'jkl'}}

for k, v in dict.items():
    if ###check if v is a dictionary:
        for k, v in v.iteritems():
            print(k, ' ', v)
    else:
        print(k, ' ', v)

ベストアンサー1

使用isinstance(ele, dict)は、オブジェクトだけでなく、次のようなdictサブクラスに対しても true を返します。dictOrderedDictそしてdefaultdict:

d = {'abc': 'abc', 'def': {'ghi': 'ghi', 'jkl': 'jkl'}}
for element in d.values():
    if isinstance(element, dict):
       for k, v in element.items():
           print(k, ' ', v)

if type(ele) is dict厳密にインスタンスをチェックし、サブクラスをチェックしたくない場合はこれを行うことができますdictが、これは一般的に推奨されません

おすすめ記事