javedimka, тысяча благодарностей и + в карму. Недавно только начал изучать, туплю дико, часов 5 уже ломаю голову и ищу в гугле. Решил, что мудрей будет спросить у знающих.
Перебрать элементы первого уровня через for i in dict, в нём проверить через dict1[i].keys() наличие ключа __typename, если такой ключ существует, проверить его значение.
import pprint
pprint.pprint (dict1)
for i in dict1:
if '__typename' in dict1[i].keys():
if dict1[i]['__typename']=='Person':
print ('Match on: ',i)
print (dict1[i])
Если __typename: Person будет в элементах другого уровня, скрипт нужно переделывать, например, сначала выяснить максимальную вложенность элемента и затем проверять по всем уровням