gpt4 book ai didi

python - 有序集 Python 2.7

转载 作者:太空狗 更新时间:2023-10-29 17:36:31 24 4
gpt4 key购买 nike

我有一个列表,我正试图从中删除重复项。我使用的是 python 2.7.1,所以我可以简单地使用 set() 函数。但是,这会重新排序我的列表。这对我的特殊情况来说是 Not Acceptable 。

下面是我写的一个函数;这是做什么的。但是我想知道是否有更好/更快的方法。也将不胜感激。

    def ordered_set(list_):

newlist = []
lastitem = None
for item in list_:

if item != lastitem:
newlist.append(item)
lastitem = item

return newlist

上述函数假定没有任何项目是,并且项目是有序的(即,['a', 'a', 'a', ' b', 'b', 'c', 'd'])

上述函数返回 ['a', 'a', 'a', 'b', 'b', 'c', 'd'] 作为 ['a ', 'b', 'c', 'd']

最佳答案

另一种非常快速的集合方法:

def remove_duplicates(lst):
dset = set()
# relies on the fact that dset.add() always returns None.
return [item for item in lst
if item not in dset and not dset.add(item)]

关于python - 有序集 Python 2.7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6197409/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com