嗨,我有像
这样的东西pq={<Timestamp: 2008-02-02 13:30:46>: {('1059', 'latitude'): 40.064889999999998,
('1059', 'longitude'): 116.56359,
('1466', 'latitude'): 39.92163,
('1466', 'longitude'): 116.32633,
('1563', 'latitude'): 39.864249999999998,
('1563', 'longitude'): 116.39328,
('1827', 'latitude'): 40.003770000000003,
('1827', 'longitude'): 116.30907000000001}}
我希望像
这样的东西pq={<Timestamp: 2008-02-02 13:30:46>: {'1059':{'latitude: 40.064889999999998,'longitude': 116.56359},
'1466' :{'latitude': 39.92163,'longitude': 116.32633},
'1563':{'latitude': 39.864249999999998, 'longitude':116.39328},
'1827':{'latitude': 40.003770000000003,'longitude': 116.30907000000001}}
我该怎么做?
答案 0 :(得分:0)
您希望通过拆分元组键来进行细分。
要自动创建子区域,请使用defaultdict
。
迭代您要修改的字典项允许您使用元组解包来拆分元组键:
>>> import collections
>>> subpq = collections.defaultdict(dict)
>>> for (number, type), value in pq.values()[0].items():
... subpq[number][type] = value
...
>>> subpq
defaultdict(<type 'dict'>,
{'1059': {'latitude': 40.06489, 'longitude': 116.56359},
'1827': {'latitude': 40.00377, 'longitude': 116.30907},
'1563': {'latitude': 39.86425, 'longitude': 116.39328},
'1466': {'latitude': 39.92163, 'longitude': 116.32633}})