我需要创建一个新列表,其中包含来自另一个列表的唯一值,还必须维护顺序。
我的代码:
def unique_elements(a):
newlist = []
for i in range(len(a)):
if a[i] not in a[i+1:] and a[i-1::-1] :
newlist.append(a[i])
return newlist
输出为:
unique_elements([1,2,2,3,4,3])
[1, 2, 4, 3]
我得到的是半正确的结果,在这个顺序是不维持的。正确的输出应该是:
[1,2,3,4]
有人能告诉我哪里出错了吗?
我从另一个岗位得到了这个解决方案:
def unique_elements(a):
newlist = []
for i in a:
if i not in newlist:
newlist.append(i)
return newlist
另外,我还没有接触到python中的集合。如果我的原始代码可以工作,有人能告诉我吗?