gpt4 book ai didi

python - 非独特元素

转载 作者:太空宇宙 更新时间:2023-11-04 08:24:16 24 4
gpt4 key购买 nike

我正在 checkio 上做一个练习,关于编写一个函数来排除 list 中的唯一元素,并且只保留非唯一元素。我写了以下几行。

    def checkio(data):    
for i in data:
if data.count(i) == 1:
data.remove(i)
return data

然后做了下面的测试。

    checkio([1, 2, 3, 1, 3]) == [1, 3, 1, 3]
checkio([1, 2, 3, 4, 5]) == []
checkio([5, 5, 5, 5, 5]) == [5, 5, 5, 5, 5]
checkio([10, 9, 10, 10, 9, 8]) == [10, 9, 10, 10, 9]

但是第二个测试不会通过。
它返回的不是空数组[],而是[2,4]
这是为什么?提前感谢您的帮助!

最佳答案

解决方案:


def checkio(data):
duplicates = []
for i in data:
if data.count(i) > 1:
duplicates.append(i)
return duplicates

此处,如@sp4c38所述不要删除独特的元素并修改原始列表,而是将重复项添加到新的列表

这通过了所有测试用例:

checkio([1, 2, 3, 1, 3])
checkio([1, 2, 3, 4, 5]) == []
checkio([5, 5, 5, 5, 5]) == [5, 5, 5, 5, 5]
checkio([10, 9, 10, 10, 9, 8]) == [10, 9, 10, 10, 9]

关于python - 非独特元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58898669/

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