我想能够比较字典里面相同的键的值,如果id的值相同,那么比较weight的值,谁的weight的值小,就添加它到一个列表里面
主要这个是在一个列表里面有很多个字典
用遍历的方法可以解决
测试一下,行不行?
lst = [{'id':'3','weight':'10','init':'0'},{'id':'3','weight':'4','init':'0'},{'id':'3','weight':'9','init':'0'},{'id':'4','weight':'10','init':'0'},{'id':'4','weight':'6','init':'0'},{'id':'5','weight':'9','init':'0'},{'id':'5','weight':'1','init':'0'},{'id':'5','weight':'11','init':'0'}]
dic = {}
for i in lst:
if i['id'] in dic:
if eval(i['weight'])<eval(dic[i['id']]):
dic[i['id']]=i['weight']
else:
dic[i['id']]=i['weight']
new = [i for i in lst if i['id'] in dic and i['weight']==dic[i['id']]]
print(new)