Как проверить, является ли переменная словарём в Python?
Как бы вы проверили, является ли переменная словарём в python?
Например, я бы хотел, чтобы он просматривал значения в словаре, пока не найдет словарь. Затем переберите тот, который он находит:
dict = {'abc': 'abc', 'def': {'ghi': 'ghi', 'jkl': 'jkl'}}
for k, v in dict.iteritems():
if ###check if v is a dictionary:
for k, v in v.iteritems():
print(k, ' ', v)
else:
print(k, ' ', v)
Ответы
Ответ 1
Вы можете использовать if type(ele) is dict
или использовать isinstance (ele, dict), который будет работать, если у вас есть подклассы dict:
d = {'abc':'abc','def':{'ghi':'ghi','jkl':'jkl'}}
for ele in d.values():
if isinstance(ele,dict):
for k, v in ele.items():
print(k,' ',v)