|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
【问题描述】
输入一个列表,删除其中的重复值,再输出。
要求:假设列表中存在k个值为a的元素,删除前k-1个元素,保留最后一个。 不同元素在列表中的相对位置不应被改变。
【输入形式】
[元素1, 元素2, ... , 元素n]
【输出形式】
[元素1,元素2, ... , 元素k]
【样例输入】
[4,3,2,3,2,4,True]
【样例输出】
[3, 2, 4, True]
list_a = eval(input())
list_b=[str(i) for i in list_a]
string = ''.join(list_b)
r = ','.join(x for i, x in enumerate(string)if string.index(x) == i)
list_c = r.split(",")
list_d=list(map(int, list_c))
print(list_d)
我的代码输出的相对位置不对,而且列表中带有字符时会报错
- list1 = [1, 2, 3, 4, 4, 3, 2, 1, 1, 2, 23, 1, 23, 13, 23, 445, 8]
- list2 = []
- for each in range(len(list1)-1, -1, -1):
- if list1[each] not in list2:
- list2.append(list1[each])
- list2.reverse()
- print(list2)
复制代码
|
|