lst = [(1051,97),(1051,132),(1048,132),(1048,283),(1048,438)] lst = list(reversed([(v, k) for k, v in {t[1]: t[0] for t in reversed(lst)}.items()])) print(lst) # [(1051, 97), (1051, 132), (1048, 283), (1048, 438)]