通常涉及到去重操作最好使用set,但是考虑到某些时候可能遇到不允许使用set的情况,那就自己实现一下:

l = [2, 4, 5, 6, 1, 3, 4, 5]


def f(l, b=0, c=1):
    a = len(l)
    if a > 1:
        l.sort()
        if l[b] == l[c]:
            l.pop(b)
            a = len(l)  # 删除一个元素之后,列表的长度变了,同时,下标b和c对应的值也变了,所以重新对a赋值,而b和c不变
        else:
            b, c = c, c+1
        if a > c:
            f(l, b, c)
    return l

ll = f(l)
print(ll)

  排序+递归实现删除列表重复元素。