从关键字值相同的dict列表中查找最后一个索引



我在python中有一个dict列表,如下

list_qty = [{'id':1,'qty': '10'},{'id':1,'qty': '15'},{'id':2,'qty': '7'},{'id':2,'qty': '20'},{'id':2,'qty': '30'}]

我想从具有相同id 的list_qty获得dict的last index

我想要的输出是:

list_qty2 = [{'id':1,'qty': '15'},{'id':2,'qty': '30'}]

有人能帮我吗?

Python中的Dict会更新同一个键的值。所以你可以试试这样的东西:

Python 3.x

list_qty = [{'id':1,'qty': '10'},{'id':1,'qty': '15'}, {'id':2,'qty': '7'},{'id':2,'qty': '20'},{'id':2,'qty': '30'}]
list_qty2=list({v['id']:v for v in list_qty}.values())
print(list_qty2)
[{'id': 1, 'qty': '15'}, {'id': 2, 'qty': '30'}]

Python 2.7

list_qty = [{'id':1,'qty': '10'},{'id':1,'qty': '15'}, {'id':2,'qty': '7'},{'id':2,'qty': '20'},{'id':2,'qty': '30'}]
list_qty2={v['id']:v for v in list_qty}.values()
print list_qty2
[{'id': 1, 'qty': '15'}, {'id': 2, 'qty': '30'}]

最新更新