从字典列表中删除重复的键,仅保留最大值的那个键值

Richa Verma

从类似的列表中:

mylist = [{'x':2020 , 'y':20},{'x':2020 , 'y':30},{'x':2021 , 'y':10},{'x':2021 , 'y':5}]

我想让所有“ x”保持唯一,而“ y”保持最大,其中“ x”相同。

我试图得到的输出为:

mylist_unique =  [{'x':2020 , 'y':30},{'x':2021 , 'y':10}]

我已经以非常幼稚的方式实现了它:

res =[]
temp = {}
print(len(temp))

for i in range(len(mylist)):
    print(mylist[i])
    for k,v in mylist[i].items():
        print(mylist[i]['x'],temp.keys(),mylist[i]['y'])
        if mylist[i]['x'] not in temp.keys() or mylist[i]['y'] > (temp[mylist[i]['x']]) :
            print(k)
            temp.update({mylist[i]['x']:mylist[i]['y']})

print(temp)
for k,v in temp.items():
    res.append({'x':k,'y':v})
print(res)
一月

您可以使用dict理解itertools.groupby

from itertools import groupby

mylist = [{'x': 2020, 'y': 20}, {'x': 2020, 'y': 30}, {'x': 2021, 'y': 10}, {'x': 2021, 'y': 5}]

mylist_unique = [{'x': key, 'y': max(item['y'] for item in values)}
                 for key, values in groupby(mylist, lambda dct: dct['x'])]
print(mylist_unique)

这产生

[{'x': 2020, 'y': 30}, {'x': 2021, 'y': 10}]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

删除字典中的重复项并仅保留最小值

来自分类Dev

从字典中某个键的值列表中删除重复项?

来自分类Dev

从列表中删除唯一值,仅保留重复项

来自分类Dev

根据键的重复值从列表中删除字典

来自分类Dev

根据特定的键和值从列表中删除重复字典

来自分类Dev

获取字典内列表列表中每个键的最大值列表

来自分类Dev

从列表中删除值中的重复键值对

来自分类Dev

R:在保留最大值的同时删除重复项

来自分类Dev

R:在保留最大值的同时删除重复项

来自分类Dev

在键值对的 PCollection 中查找具有最大值的键

来自分类Dev

获取某些值中字典中最大值的键

来自分类Dev

合并多列,但仅保留r中的最大值

来自分类Dev

根据给定键的值唯一性,删除字典列表中的重复字典

来自分类Dev

用键输出字典中的最大值

来自分类Dev

为字典python中的每个键选择最大值

来自分类Dev

删除对象列表中的重复项,保持最大值和顺序

来自分类Dev

删除对象列表中的重复项,并保持最大值和顺序

来自分类Dev

在表中保留重复的最大值

来自分类Dev

在包含列表的字典中查找最大值

来自分类Dev

如何在字典中查找列表的最大值

来自分类Dev

在包含列表的字典中查找最大值

来自分类Dev

带有字典的列表中的最大值

来自分类Dev

按索引删除重复项,在重复项中保留每列的最大值

来自分类Dev

字典列表中的最大值和最小值,其中每个字典键都有一个值

来自分类Dev

从字典数组中删除键值的重复项

来自分类Dev

如何从字典中删除重复的键值

来自分类Dev

从列表中删除值,仅保留唯一值

来自分类Dev

当值是列表时,获取字典中最大值的键

来自分类Dev

当值是列表时,获取字典中最大值的键

Related 相关文章

  1. 1

    删除字典中的重复项并仅保留最小值

  2. 2

    从字典中某个键的值列表中删除重复项?

  3. 3

    从列表中删除唯一值,仅保留重复项

  4. 4

    根据键的重复值从列表中删除字典

  5. 5

    根据特定的键和值从列表中删除重复字典

  6. 6

    获取字典内列表列表中每个键的最大值列表

  7. 7

    从列表中删除值中的重复键值对

  8. 8

    R:在保留最大值的同时删除重复项

  9. 9

    R:在保留最大值的同时删除重复项

  10. 10

    在键值对的 PCollection 中查找具有最大值的键

  11. 11

    获取某些值中字典中最大值的键

  12. 12

    合并多列,但仅保留r中的最大值

  13. 13

    根据给定键的值唯一性,删除字典列表中的重复字典

  14. 14

    用键输出字典中的最大值

  15. 15

    为字典python中的每个键选择最大值

  16. 16

    删除对象列表中的重复项,保持最大值和顺序

  17. 17

    删除对象列表中的重复项,并保持最大值和顺序

  18. 18

    在表中保留重复的最大值

  19. 19

    在包含列表的字典中查找最大值

  20. 20

    如何在字典中查找列表的最大值

  21. 21

    在包含列表的字典中查找最大值

  22. 22

    带有字典的列表中的最大值

  23. 23

    按索引删除重复项,在重复项中保留每列的最大值

  24. 24

    字典列表中的最大值和最小值,其中每个字典键都有一个值

  25. 25

    从字典数组中删除键值的重复项

  26. 26

    如何从字典中删除重复的键值

  27. 27

    从列表中删除值,仅保留唯一值

  28. 28

    当值是列表时,获取字典中最大值的键

  29. 29

    当值是列表时,获取字典中最大值的键

热门标签

归档