最近遇到這樣一個需求,須要將字典列表中的字段進行重組,造成一個新的字典。舉個例子吧:python
l1 = [{"x": 22, "y": 22, "demand": 18}, {"x": 36, "y": 26, "demand": 26}, {"x": 21, "y": 45, "demand": 11}] # 要把其中x y做爲Key, demand做爲value,造成下面這樣一個字典: d1 = {(22, 22): 18, (36, 26): 26, (21, 45): 11}
咱們應該大都知道Python存在一個列表生成器(list generator
),就是這種code
a = [i for i in range(5)] # result: a = [0, 1, 2, 3, 4]
其實,Python也有一個字典生成器,只須要把上面的中括號改爲大括號就可,前面的例子能夠用一句話實現爲:get
d1 = {(it['x'], it['y']):it['demand'] for it in l1}