通常涉及到去重操作最好使用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)
排序+递归实现删除列表重复元素。