У меня есть некоторые данные, которые мне нужно обработать.Это похоже на словарь в словаре в словаре, все из которых хранятся в списке!Это проанализированные данные JSON, поэтому я не могу контролировать их формат.
Вот некоторые данные, многие из которых я удалил, поскольку они неактуальны и для краткости:
devices = [
{
'server.device.base.phyname': 'IEEE802.11',
'dot11.device': {
'dot11.device.associated_client_map': {
'68:96:1E:96:96:B5': '4202770DF206F63E_B5F4CE1EAB680000',
'60:30:CE:91:4A:96': '4202770DF206F63E_8D4A91D430600000',
'4C:32:75:66:96:10': '4202770DF206F63E_105F6675324C0000',
'50:6A:03:3E:0E:17': '4202770DF206F63E_170E3E036A500000',
'7C:C3:CE:A4:EC:86': '4202770DF206F63E_86ECA4A1C37C0000',
'2C:BE:08:F0:D5:A0': '4202770DF206F63E_A0D5F008BE2C0000',
'96:E7:96:76:9A:C7': '4202770DF206F63E_C79A762CE7700000',
'96:CE:75:57:E2:5A': '4202770DF206F63E_5AE2577510000000',
'34:68:95:96:3C:96': '4202770DF206F63E_C43C6A9568340000',
'6C:96:96:9D:CE:57': '4202770DF206F63E_57109DCF966C0000',
'CE:61:96:CE:B4:69': '4202770DF206F63E_69B4D2AE61900000',
'04:CE:CE:1C:CE:8C': '4202770DF206F63E_8CAF1CCE0C040000',
'2C:F0:CE:DC:D6:39': '4202770DF206F63E_39D6DCEEF02C0000'
}
}
}
]
Мне нужно иметь возможность извлекать сохраненные MAC-адресавнутри пары 'dot11.device'.Я до сих пор в состоянии циклически просматривать родительский список и отображать все данные:
for d in devices:
print d['dot11.device']['dot11.device.associated_client_map']
, однако это печатает весь вложенный dict.
Что я действительно хотел бы сделатьвозвращает новый список только MAC-адресов (это словарные ключи? Я не уверен).
Я работаю с Python2, и любая помощь очень ценится!