输入一个列表,删除其中的重复值,再输出。
要求
假设列表中存在k个值为a的元素,删除前k-1个元素,保留最后一个。
不同元素在列表中的相对位置不应被改变。
输入格式:
[元素1, 元素2, ... , 元素n]
输出格式:
[元素1,元素2, ... , 元素k]
问题没写全,遍历一遍貌似是可以的。弄一个新的列表存
def remove_duplicates(lst):
last_seen = {}
result = []
for i, item in enumerate(lst):
if item not in last_seen or last_seen[item] < i:
result.append(item)
last_seen[item] = i
return result
lst = eval(input("请输入列表,格式类似[1, 2, 3, 2, 4, 3, 5, 1, 6, 7, 7, 8]"))
print(remove_duplicates(lst))
不知道你这个问题是否已经解决, 如果还没有解决的话: