gpt4 book ai didi

python - 在 Python 中识别列表中的重复值

转载 作者:IT老高 更新时间:2023-10-28 21:43:54 28 4
gpt4 key购买 nike

是否可以使用 python 获取列表中的重复值?

我有一个元素 list :

    mylist = [20, 30, 25, 20]

我知道删除重复项的最佳方法是 set(mylist),但是是否有可能知道哪些值被重复了?如您所见,在此列表中,重复项是第一个和最后一个值。 [0, 3].

是否有可能在 python 中得到这个结果或类似的东西?我试图避免做出一个可笑的大 if elif 条件语句。

最佳答案

这些答案是 O(n),因此比使用 mylist.count() 的代码要多一点,但随着 mylist 变长,效率会更高

如果您只想知道重复项,请使用 collections.Counter

from collections import Counter
mylist = [20, 30, 25, 20]
[k for k,v in Counter(mylist).items() if v>1]

如果您需要了解索引,

from collections import defaultdict
D = defaultdict(list)
for i,item in enumerate(mylist):
D[item].append(i)
D = {k:v for k,v in D.items() if len(v)>1}

关于python - 在 Python 中识别列表中的重复值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11236006/

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