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

问题描述 投票:0回答:1

我已经看到了一些类似的问题,但不是我问的是什么,所以:列表的任何其他元素中都不能有重复的数字,并且如果重复一个数字,则只能出现一个数字。

有一个输入,例如:[12,22,12,2,34,25,9]

输出最多为:[12,34,9]2,22,25,12无法使用,因为前12个中有2]

我已经说到我有[12,2,34,25,9],但是我无法删除重复的数字。我试图将每个数字分开以进行相互比较,但我没有设法做到这一点。

python
1个回答
1
投票

集不能有重复的条目,所以>>

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)
© www.soinside.com 2019 - 2024. All rights reserved.