在python中删除数字列表中的重复数字

2024-03-28 12:42:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我见过一些类似的问题,但不完全是我所问的,因此: 列表的任何其他元素中都不能有重复的数字,如果有重复的数字,则只能出现一个

有这样一个输入:[12,22,12,2,34,25,9]

输出最大可能是:[12,34,9] 无法使用2、22、25、12,因为前12个中有一个2

我已经指出我有[12,2,34,25,9],但是我不能删除重复的数字。我试着把每个数字分开,以便相互比较,但我没有做到这一点


Tags: 元素列表数字
1条回答
网友
1楼 · 发布于 2024-03-28 12:42:13

集合不能有重复项,因此

l = [12,22,12,2,34,25,9]
l = list(set(l))

将产生预期的结果

编辑:

def no_rep_digit(l):
    l_new = []
    digits = []
    for num in l:
        if not any([(digit in digits) for digit in str(num)]):
            l_new.append(num)
            digits.extend([digit for digit in str(num)])
        else:
            digits.extend([digit for digit in str(num)])
    return l_new

l = no_rep_digit(l)

相关问题 更多 >