【发布时间】:2020-12-11 02:49:09
【问题描述】:
我想知道如何删除下面这个列表中的所有重复字符(不使用 set())。我尝试在列表中使用remove(),但它只能删除第一次出现的值。
例如:输入 = [23,42,65,73,5,2,73,51] 输出 = [23,42,65,5,2,51]
def number_repeated(lst):
index = int(input('Remove index : '))
a = 0
for num in lst:
if num == index:
a += 1
print('The number of digits are repeated: {}'.format(a))
list(set(lst)).remove(index)
return lst
print(number_repeated([23, 42, 65, 73, 5, 2, 73, 51]))
输出:
[65, 2, 5, 42, 51, 23]
另外,为什么在上面这段代码中,当我使用set() 时,输出没有排序?
【问题讨论】:
-
集合没有(必然)排序。
-
集合是无序的数据结构。如果要排序,请使用
sorted(set())函数。 -
那没有产生那个输出。