Python论坛  - 讨论区

标题:Python Cookbook 之 顺序容器的元素去重算法

2014年03月12日 星期三 09:59

我们要对顺序容器(比如List)里面的元素进行去重处理,但同时要保持元素的顺序,可以使用如下算法:

def dedupe(items):
    seen=set()
    for item in items:
        if item not in seen:
            yield item
            seen.add(item)
            
l=[3,1,4,1,5,9,2,6,2,7]
ul=list(dedupe(l))
print(ul)
sul=set(l)
print(sul)

需要注意的是,set是无序的容器,顺序和无序的区别可以从上面示例代码的运行结果看到。

参考资料:

http://docs.python.org/3/library/stdtypes.html#set-types-set-frozenset

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2024

    京ICP备05028076号