在python中转换嵌套的dict

问题描述 投票:-3回答:2

我想知道在python中转换以下dict的pythonic方法:

a = {1: {'region': 'us-west'
     },

 2: {'region': 'us-west'
     }
 }

采取以下形式:

new_a = {'us-west': {1: {'data': {},
                     'metadata': {}
                     },
                 2: {'data': {},
                     'metadata': {}
                     }
                 }
     }
python dictionary
2个回答
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':{}}

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': {}}}}
© www.soinside.com 2019 - 2024. All rights reserved.