更新时间:2022-11-16 13:33:42
这是一个itertools.groupby
解决方案:
from itertools import groupby
from operator import itemgetter
li = [('x', 'y'), ('s', 'e'), ('s', 'a'), ('x', 'z')]
[p for k, g in groupby(sorted(li, reverse=True), itemgetter(0)) for p in reversed(list(g))]
# [('x', 'y'), ('x', 'z'), ('s', 'a'), ('s', 'e')]