我有一个任意嵌套的python dict,就这样;
{u'1009': {u'2017': {u'April': {
u'Revenue': 35837,
u'Total_users': 107,
u'Unique_users': 79},
u'August': {
u'Revenue': 98958,
u'Total_users': 314,
u'Unique_users': 208},
u'December': {
u'Revenue': 123334,
u'Total_users': 440,
u'Unique_users': 241}},
u'2018': {u'April': {
u'Revenue': 4280,
u'Total_users': 13,
u'Unique_users': 12},
u'February': {
u'Revenue': 88922,
u'Total_users': 354,
u'Unique_users': 205},
u'January': {
u'Revenue': 183031,
u'Total_users': 429,
u'Unique_users': 239},
u'March': {
u'Revenue': 101068,
u'Total_users': 359,
u'Unique_users': 222}}
u'1051': {u'2017': {u'August': {
u'Revenue': 10450,
u'Total_users': 40,
u'Unique_users': 26},
u'July': {
u'Revenue': 38980,
u'Total_users': 132,
u'Unique_users': 42},
u'June': {
u'Revenue': 15820,
u'Total_users': 54,
u'Unique_users': 36}}}}
在上面的字典中,最外面的键正在改变,但最里面的键(Revenue等)不是。如果我需要找到前5个收入值,我需要使用多个for循环并存储值。是否有任何优雅的方法可以跳过一定程度的键和/或直接搜索嵌套字典中最内层的键?
示例代码:
for key_1 in a:
for key_2 in a[key_1]:
for key_3 in a[key_1][key_2]:
print {key_3:a[key_1][key_2][key_3]['Revenue']}