从包含 Python 中的字典的其他嵌套列表创建 Python 字典

时间:2021-03-30 15:12:24

标签: python python-3.x list dictionary

我有一个包含字典作为元素的列表

dict_1 = [{'id': '0eb7df70-f319-4562-ab2a-9e641e978b3b', 'first_name': 'Rahx', 'surname': 'Smith ', 'devices': {'os': 'Apple iPhone', 'mac_address': 'f4:af:e7:b7:ab:22', 'manufacturer': 'Apple'}, 'lat': 54.33166199876629, 'lng': -6.277842272724769, 'seenTime': 1582814754000},
{'id': 'a0bb8d38-0d27-4d7f-acc0-1e850a706b6c', 'first_name': 'Lucy', 'surname': 'Pye', 'devices': {'os': 'Apple iPhone', 'mac_address': 'f8:87:f1:72:4c:4d', 'manufacturer': 'Apple'}, 'lat': 54.33166199876629, 'lng': -6.277842272724769, 'seenTime': 1582814754000}, 
{'id': '0eb7df70-f319-4562-ab2a-9e641e978b3b', 'first_name': 'xyx', 'surname': 'dcsdd', 'devices': {'os': 'NOKIA Phone', 'mac_address': '78:28:ca:a8:56:b9', 'manufacturer': 'NOKIA'}, 'lat': 54.33166199876629, 'lng': -6.277842272724769, 'seenTime': 1582814754000}, 
{'id': 'a0bb8d38-0d27-4d7f-acc0-1e850a706b6c', 'first_name': 'ddwdw', 'surname': 'sdsds', 'devices': {'os': 'MI Phone', 'mac_address': 'dc:08:0f:3f:57:0c', 'manufacturer': 'MI'}, 'lat': 54.33218267030654, 'lng': -6.27796001203896, 'seenTime': 1582814693000}]

而且我希望从 dict_1 变量中得到这样的输出

{
  "f77df8c2-b19d-4341-9021-7beab4b9ebcd":{
      "first_name":"anonymous",
      "surname":"anonymous",
      "lat":57.14913102,
      "lng":-2.09987143,
      "devices": {'os': 'MI Phone', 'mac_address': 'dc:08:0f:3f:57:0c', 'manufacturer': 'MI'},
      "seenTime": 1582814693000
  },
  "7beab4b9ebcd-b19d-9021-f77df8c2-4341":{
  etc.
  },
  etc.
}

帮助我知道在这种情况下我应该怎么做。

2 个答案:

答案 0 :(得分:1)

试试这个。

dict_1 = {x.pop('id'): x for x in dict_1}

答案 1 :(得分:0)

我认为这可以胜任:

some-get/data?locale=en
{
   "userName": {
       "key":"User name",
       "value": "John Dou"
   }
}