Python使用list(set(v))删除重复项更改数组ord

2024-05-13 07:00:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我有下面的数组有多个重复,我想删除它们保持顺序。在

v = ['maier', 'tapa pure', 'embega', 'maier', 'tapa pure', 'embega', 'maier', 'tapa pure', 'embega', 'maier', 'tapa pure', 'embega', 'maier', 'tapa pure', 'embega', 'maier', 'tapa pure', 'embega', 'maier', 'tapa pure', 'embega', 'maier', 'tapa pure', 'embega']

我使用list(set(v))得到以下输出:
['embega', 'maier', 'tapa pure']

我想要的是删除重复,但保持原来的顺序:
['maier', 'tapa pure', 'embega']

我不能使用v[:3],因为重复的长度是可变的。在

我该怎么做?在

提前谢谢。在


Tags: 顺序pure数组listsetmaiertapaembega
2条回答

您应该使用^{}fromkeys函数,如下所示

from collections import OrderedDict
print OrderedDict.fromkeys(v).keys()
# ['maier', 'tapa pure', 'embega']
seen_items = set()
w = [] 
for item in v:
    if item not in seen_items:
        w.append(item)
        seen_items.add(item)

相关问题 更多 >