我想知道在python中转换以下dict的pythonic方法:
a = {1: {'region': 'us-west'
},
2: {'region': 'us-west'
}
}
采取以下形式:
new_a = {'us-west': {1: {'data': {},
'metadata': {}
},
2: {'data': {},
'metadata': {}
}
}
}
答案 0 :(得分:1)
你可以试试这个:
c = {1: {'region': 'us-west'
},
2: {'region': 'us-west'
}
}
new_a = {b['region']:{i:{'data':{}, 'metadata':{}} for i in c} for a, b in c.items()}
输出:
{'us-west': {1: {'data': {}, 'metadata': {}}, 2: {'data': {}, 'metadata': {}}}}
答案 1 :(得分:0)
您还没有真正告诉我们您正在寻找的具体内容,或者提供了更通用的数据集,但您可以尝试这样做:
new_a = {}
for key in a.keys():
if a[key]['region'] not in new_a:
new_a[a[key]['region']] = {}
new_a[a[key]['region']][key] = { 'data': {}, 'metadata':{}}