lst = [
{'Time': '1', 'Key':'val1'},
{'Time':'2', 'Key':'val1'},
{'Time':'3', 'Key':'val1'},
{'Time':'3', 'Key':'val2'},
{'Time':'8', 'Key':'val2'}
]
Использование цикла for
с any
res = []
for i in lst:
if not any(i['Key'] in x.values() for x in res):
res.append(i)
else:
pass
print(res)
# [{'Time': '1', 'Key': 'val1'}, {'Time': '3', 'Key': 'val2'}]
Может быть сделано с itertools.groupby
res = []
for _, g in groupby(lst, key = lambda x: x['Key']):
res.append(list(g)[0])
itertools.groupby
с пониманием списка и operator.itemgetter
from itertools import groupby
from operator import itemgetter
res = [list(g)[0] for _, g in groupby(lst, key=itemgetter('Key'))]