Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从dict列表中查找具有相同键值的最后一个索引_Python_List_Dictionary - Fatal编程技术网

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'}] 有人能帮我

我有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'}]

有人能帮我吗?

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添加到结果列表中?