• 技术文章 >常见问题 >Python常见问题

    python中如何实现列表去重不打乱顺序?

    宋雪维宋雪维2021-02-05 08:11:14原创7527

    本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

    方法一:使用集合set去重

    l1 = ['b','c','d','b','c','a','a']
    l2 = sorted(set(l1),key=l1.index)
    print l2

    方法二:使用用sort()中的key字段进行设定

    #随便创建一个有重复数据的列表
    lt1 = [0,1,2,3,4,4,5,5,6,12,6,7,7,8,8,8,8,9,9,10,11,10,64]
    #把列表二次转换
    lt = list(set(lt1))
    #index()是为了从列表中找到某个值第一项的索引位置,
    #sort(key,reverse)是改变原来列表的元素位置,不会生成一个新列表,reverse默认是true,就是升序。
    lt.sort(key=lt1.index)
    print(lt)

    方法三:使用reduce()函数去重

    list = [1,4,3,3,4,2,3,4,5,6,1]
    func = lambda x,y:x if y in x else x + [y] In 
    reduce(func, [[], ] + list)
    输出结果:
    [1, 4, 3, 2, 5, 6]

    以上就是python中三种列表去重但不打乱顺序的方法,大家可以直接套用使用哦~

    专题推荐:python列表去重不打乱顺序
    上一篇:python中extend()方法如何实现列表合并? 下一篇:python中列表去重的方式有哪些?

    相关文章推荐

    • python绘制热力图有何方法?• python中extend()方法如何实现列表合并?• python中如何用集合set给列表去重?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网