zoukankan      html  css  js  c++  java
  • 列表去重

    开发中对数组、列表去重是非常常见的需求,对一个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=[]
    foridinorgList:
    ifidnotinformatList:
    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]
  • 相关阅读:
    第二周 历年学生作品评论
    第二周 WBS、NABCD查阅
    第二周 SCRUM站立会议
    第二周 燃尽图
    第二周 对读构建之法后提出的五个问题
    补上一周的进度条
    词频统计
    每周进度及工作量统计——第三周
    第三周 四人小组
    词频统计 效能分析
  • 原文地址:https://www.cnblogs.com/xingkongzhizhu/p/12321994.html
Copyright © 2011-2022 走看看