从 Python 中的另一个列表返回唯一值的列表

我需要创建一个包含来自另一个列表的唯一值的新列表,还必须维护订单。我的代码:


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 中的 SET。那么有人可以让我知道我的原始代码是否可以工作吗?


跃然一笑
浏览 174回答 1
1回答

慕尼黑5688855

尝试这个def unique_elements(a):    newlist = []    for i in a:        if i not in newlist:            newlist.append(i)    return newlistxyz = [1,1,2,4,6,2,2,4,5]print(unique_elements(xyz))输出:[1, 2, 4, 6, 5]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python