输入一个列表,删除其中的重复值,再输出。
要求
假设列表中存在k个值为a的元素,删除前k-1个元素,保留最后一个。
不同元素在列表中的相对位置不应被改变。
输入格式:
[元素1, 元素2, ... , 元素n]
输出格式:
[元素1,元素2, ... , 元素k]
输入样例:
[4,3,2,3,2,4,True]
输出样例:
[3, 2, 4, True]
提示:将形如"[1,3,5]"的字符串转换成列表可以使用eval()函数。
注意:不要在遍历列表的同时对列表进行增删改操作,这样会引起混乱,导致不正确的结果!
注意,输出格式应与输出样例一致,涉及空格,逗号等。
请接着往下看:你的程序真的对了吗?
多数读者的解题思路是制造一个v列表的复制品以避免在遍历v的同时删除v中的元素。该解决方案可以通过本题设置的全部测试。但这并不意味着该解决方案是“完全正确”的。请尝试下述输入:
[1,7,6,7,7,True,'a',9.8,'a',True]
很遗憾,程序将产生错误的输出:
[6, 7, 9.8, 'a', True]
产生这