gpt4 book ai didi

python - 从 Python 列表中删除重复项同时保留顺序和删除最旧元素的最有效方法

转载 作者:太空狗 更新时间:2023-10-30 01:24:16 24 4
gpt4 key购买 nike

我在网站上看到了很多解决方案,可以在保留最旧元素的同时删除重复项。我对相反的方向感兴趣:在保留最新元素的同时删除重复项,例如:

list = ['1234','2345','3456','1234']
list.append('1234')
>>> ['1234','2345','3456','1234','1234']
list = unique(list)
>>> ['2345','3456','1234']

这样的东西如何运作?

谢谢。

最佳答案

要求项目(或键)是可散列的,在类似列表的地方工作:

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] = []

关于python - 从 Python 列表中删除重复项同时保留顺序和删除最旧元素的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4000621/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com