Python 从dict列表中查找具有相同键值的最后一个索引
我有python中的dict列表,如下所示Python 从dict列表中查找具有相同键值的最后一个索引,python,list,dictionary,Python,List,Dictionary,我有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\u qty中获取dict的last index 我想要的输出是: list_qty2 = [{'id':1,'qty': '15'},{'id':2,'qty': '30'}] 有人能帮我
list_qty = [{'id':1,'qty': '10'},{'id':1,'qty': '15'},{'id':2,'qty': '7'},{'id':2,'qty': '20'},{'id':2,'qty': '30'}]
我想从具有相同id的list\u qty
中获取dict的last index
我想要的输出是:
list_qty2 = [{'id':1,'qty': '15'},{'id':2,'qty': '30'}]
有人能帮我吗?Python中的Dict会更新同一个键的值。因此,您可以尝试以下方法: Python3.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'}]
检查这里你试过什么吗?比如,向后迭代列表,跟踪您已经看到的ID(在一组时间效率中),然后将您没有看到的ID的DICT添加到结果列表中?