更新时间:2023-11-23 14:12:22
要求项(或键)是可散列的,就可以在类似列表的地方工作:
Requires the items (or keys) to be hashable, works in-place on list-likes:
def inplace_unique_latest(L, key=None):
if key is None:
def key(x):
return x
seen = set()
n = iter(xrange(len(L) - 1, -2, -1))
for x in xrange(len(L) - 1, -1, -1):
item = L[x]
k = key(item)
if k not in seen:
seen.add(k)
L[next(n)] = item
L[:next(n) + 1] = []