“Python Dict Usuń duplikaty, gdzie nazwa nie jest taka sama” Kod odpowiedzi

Python Dict Usuń duplikaty, gdzie nazwa nie jest taka sama

import itertools
mylist = [{'x':2020 , 'y':20},{'x':2020 , 'y':30},{'x':2021 , 'y':10},{'x':2021 , 'y':5}]
mylist1=[]
for key, group in itertools.groupby(mylist,lambda x:x["x"]):
    max_y=0
    for thing in group:
        max_y=max(max_y,thing["y"])
    mylist1.append({"x":key,"y":max_y})
print(mylist1)
Good Grouse

Python Usuń duplikaty z listy Dict

# set the dict to a tuple for hashability, then use {} for set literal and retrn each item to dict. 
[dict(t) for t in {tuple(d.items()) for d in l}]
# using two maps()
list(map(lambda t: dict(t), set(list(map(lambda d: tuple(d.items()), l)))))
gdfelt

Odpowiedzi podobne do “Python Dict Usuń duplikaty, gdzie nazwa nie jest taka sama”

Pytania podobne do “Python Dict Usuń duplikaty, gdzie nazwa nie jest taka sama”

Przeglądaj popularne odpowiedzi na kod według języka

Przeglądaj inne języki kodu