题解 | #序列中整数去重#
序列中整数去重
http://www.nowcoder.com/practice/6564a2f6e70f4153ad1ffd58b2b28490
思路:
- 题目的坑:去除重复项,而保留第一个数字出现的顺序,
- 但是出去列表项目的常规操作remove从只移除x的第一次出现
针对上面这个问题的解决方法
- 用for循环,多次移除重复项x,知道满足x出现次数(用count方法)为1
- 倒置列表,进行移除操作后再倒置回来,保留x第一次出现的位置
n=int(input())#n好像不用到
li=[int(x) for x in input().split()]#获取数字的列表
li2=li[::-1]#倒置列表,目的是为了从后面开始remove,保留第一个数字所在位置
for x in li:#for循环遍历列表内容,如果x出现次数>1,则去掉x,遍历完成后,每个数字只出现一次
if li2.count(x)>1:
li2.remove(x)
print(*li2[::-1])#倒置倒置的列表,还原数字顺序,解包打印