小编pix*_*shi的帖子

Python:如何使用集合从列表中删除重复项(顺序很重要)

所以我有这个清单:a = [-11, 13, 13, 10, -11, 10, 9, -3, 6, -9, -6, -6, 13, 8, -11, -5, 6, -8, -12, 5, -9, -1, -5, 2, -2, 13, 14, -9, 7, -4]

通过使用一组,我需要删除重复项并使它们保持相同的顺序

我使用了这段代码:

def unique(a):
    a = set(a)
    return list(a)
Run Code Online (Sandbox Code Playgroud)

当我使用它时,它确实会删除重复项,但问题是它按数字顺序返回它们,如下所示:

>>> unique(a)
[-2, 2, 5, 6, 7, 8, 9, 10, 13, 14, -12, -11, -9, -8, -6, -5, -4, -3, -1]
Run Code Online (Sandbox Code Playgroud)

如何以与原始列表相同的顺序返回它,同时使用集合删除重复项?

编辑:

所以我使用了这段代码,因为它有效:

def unique(a):
    seen = set()
    return [seen.add(x) or x for x in a …
Run Code Online (Sandbox Code Playgroud)

python list set

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

list ×1

python ×1

set ×1