Python列表去重技巧

Python列表去重在Python应用编程中,是一种非常常见的应用技巧,本文将介绍三种常用的Python列表去重方法。

方法一:通过字典进行去重
格式:{}.formkeys(mylist).keys()
实例:

[1]: l1 = ['b','c','d','b','c','a','a']

In [2]: l2 = {}.fromkeys(l1).keys()

In [3]: l2
Out[3]: dict_keys(['b', 'c', 'a', 'd'])

In [4]: list(l2)
Out[4]: ['b', 'c', 'a', 'd']

方法二:通过集合进行去重
格式:list(set(mylist))
实例:

In [11]: l1
Out[11]: ['b', 'c', 'd', 'b', 'c', 'a', 'a']

In [12]: print(list(set(l1)))
['b', 'c', 'a', 'd']

由于采用集合,会导致原有的列表排序发生变化,此时可通过如下方法,保持列表原有顺序

In [14]: l1
Out[14]: ['b', 'c', 'd', 'b', 'c', 'a', 'a']

In [15]: l2 = list(set(l1))

In [16]: l2.sort(key=l1.index)

In [17]: l2
Out[17]: ['b', 'c', 'd', 'a']

方法三:通过列表推导式去重

In [18]: l1
Out[18]: ['b', 'c', 'd', 'b', 'c', 'a', 'a']

In [19]: l2 = [ ]

In [20]: [l2.append(i) for i in l1 if not i in l2 ]
Out[20]: [None, None, None, None]

In [21]: l2
Out[21]: ['b', 'c', 'd', 'a']
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,310评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,234评论 19 139
  • 最近雾霾又开始严重起来。 今天,从食堂回到教室的路上,一个带着口罩的高高瘦瘦的小伙子发给我了一张宣传单。我接了,对...
    堇色俞阅读 1,167评论 1 1
  • 今年初夏的一个清晨,阳光穿透密密的树林洒满林间的小路,露珠在草尖上熠熠生辉,空气中浸满了新鲜的味道,我与简书也就邂...
    静若繁花L阅读 551评论 10 29