【发布时间】:2020-09-17 16:55:29
【问题描述】:
来自类似的列表:
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)
【问题讨论】: