Python对列表去重的多种方法(四种方法)

转载  更新时间:2017年12月05日 09:56:33   投稿:mrr   我要评论

开发中对数组、列表去重是非常常见的需求,对一个list中的id进行去重,有下面几种方法,具体内容详情大家参考下本文

无聊统计了下列表去重到底有多少种方法。下面小编给大家总结一下,具体内容详情如下;

开发中对数组、列表去重是非常常见的需求,对一个list中的id进行去重,有下面几种方法,前面两种方法不能保证顺序, 后面两种方法可以保持原来的顺序。

下面的代码都在Python3下测试通过, Python2下请自行测试

1. 使用set的特型,python的set和其他语言类似, 是一个无序不重复元素集

orgList = [1,0,3,7,7,5]
#list()方法是把字符串str或元组转成数组
formatList = list(set(orgList))
print (formatList)

结果:

[0, 1, 3, 5, 7]

2. 使用keys()方法

orgList = [1,0,3,7,7,5]
#list()方法是把字符串str或元组转成数组
formatList = list({}.fromkeys(orgList).keys())
print (formatList)

结果:

[0, 1, 3, 5, 7]

上面两种方法的问题是:结果是没有保持原来的顺序。

3. 循环遍历法

orgList = [1,0,3,7,7,5]
formatList = []
for id in orgList:
 if id not in formatList:
  formatList.append(id)
print (formatList)

结果:

[1, 0, 3, 7, 5]
but,这样的代码不够简洁,不够高端

4. 按照索引再次排序

orgList = [1,0,3,7,7,5]
formatList = list(set(orgList))
formatList.sort(key=orgList.index)
print (formatList)

结果:

[1, 0, 3, 7, 5]

总结

以上所述是小编给大家介绍的Python对列表去重的多种方法(四种方法),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • Python中比较特别的除法运算和幂运算介绍

    Python中比较特别的除法运算和幂运算介绍

    这篇文章主要介绍了Python中比较特别的除法运算和幂运算介绍,“/”这个是除法运算,那么这个“//”呢?“*”这个是乘法运算,那么这个“**”呢?本文就讲解这些运算的不同,需要的朋友可以参考下
    2015-04-04
  • python time模块用法实例详解

    python time模块用法实例详解

    这篇文章主要介绍了python中time模块的用法,包括了各类时间函数,需要的朋友可以参考下
    2014-09-09
  • wxPython学习之主框架实例

    wxPython学习之主框架实例

    这篇文章主要介绍了wxPython学习之主框架应用实例,以一个基础的弹出窗体实例讲述了wxPython主框架应用程序的实现方法,需要的朋友可以参考下
    2014-09-09
  • 老生常谈python的私有公有属性(必看篇)

    老生常谈python的私有公有属性(必看篇)

    下面小编就为大家带来一篇老生常谈python的私有公有属性(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • python操作xlsx文件的包openpyxl实例

    python操作xlsx文件的包openpyxl实例

    下面小编就为大家分享一篇python操作xlsx文件的包openpyxl实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • 跟老齐学Python之玩转字符串(2)更新篇

    跟老齐学Python之玩转字符串(2)更新篇

    本文是玩转字符串的续篇,继续对字符串的连接方法进行介绍,以及字符串复制、字符串长度、字符大小写的转换。非常不错的文章,希望对大家有所帮助
    2014-09-09
  • 理解python正则表达式

    理解python正则表达式

    这篇文章主要介绍了python正则表达式,在python中,对正则表达式的支持是通过re模块来支持的,想要了解python正则表达式的朋友可以参考一下
    2016-01-01
  • Python多线程经典问题之乘客做公交车算法实例

    Python多线程经典问题之乘客做公交车算法实例

    这篇文章主要介绍了Python多线程经典问题之乘客做公交车算法,简单描述了乘客坐公交车问题并结合实例形式分析了Python多线程实现乘客坐公交车算法的相关技巧,需要的朋友可以参考下
    2017-03-03
  • Python3中类、模块、错误与异常、文件的简易教程

    Python3中类、模块、错误与异常、文件的简易教程

    这篇文章主要给大家介绍了关于Python3中类、模块、错误与异常、文件的相关教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-11-11
  • 利用pyinstaller将py文件打包为exe的方法

    利用pyinstaller将py文件打包为exe的方法

    本篇文章主要介绍了利用pyinstaller将py文件打包为exe的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05

最新评论