gpt4 book ai didi

python - 删除列表中一半重复项的有效方法

转载 作者:行者123 更新时间:2023-12-01 07:00:29 24 4
gpt4 key购买 nike

如果我有一个列表说 l = [1, 8, 8, 8, 1, 3, 3, 8]并且保证每个元素出现偶数次,我如何制作一个包含 l 的所有元素的列表正在发生 n/2次。所以自从 1发生 2次,它现在应该发生一次。自 8发生 4次,它现在应该发生两次。自 3发生了两次,应该发生一次。
所以新列表将类似于 k=[1,8,8,3]执行此操作的最快方法是什么?
我做了 list.count()对于每个元素,但速度非常慢。

最佳答案

如果顺序不重要,一种方法是仅在排序后获取奇数或偶数索引。这些列表将相同,因此您只需要其中之一。

l = [1,8,8,8,1,3,3,8]
l.sort()

# Get all odd indexes
odd = l[1::2]

# Get all even indexes
even = l[::2]

print(odd)
print(odd == even)
结果:
[1, 3, 8, 8]
True

关于python - 删除列表中一半重复项的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62793544/

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