zoukankan      html  css  js  c++  java
  • python实例:删除列表中重复的元素

     

    本文原创,版权属作者个人所有,如需转载请联系作者本人。Q&微:155122733

    --------------------------------------------------------------------------------------------------------

    比较容易记忆的是用内置的set

    #!/usr/bin/python
    nums=['a','a',3,4,3]
    if nums:
            print(list(set(nums)))# display [3, 4, 'a']

    还有一种据说速度更快的,没测试过两者的速度差别
      
    #!/usr/bin/python
    nums=['a','a',3,4,3]
    nums2 = {}.fromkeys(nums).keys()
    print(nums2)#display dict_keys(['a', 3, 4])
    这两种都有个缺点,去除重复元素后排序变了
     
    如果想要保持他们原来的排序:
     
    用list类的sort方法
    #!/usr/bin/python
    nums=['a','a',3,4,3]
    nums3 = list(set(nums))
    nums3.sort(key = nums.index)
    print(nums3)# display ['a', 3, 4]
     
    也可以这样写
    #!/usr/bin/python
    nums=['a','a',3,4,3]
    nums4 = sorted(set(nums),key= nums.index)
    print(nums4) # display ['a', 3, 4]
    也可以用遍历
    #!/usr/bin/python
    nums=['a','a',3,4,3]
    nums5=[]
    for i in nums:
            if not i in nums5:
                    nums5.append(i)
    print(nums5)# display ['a', 3, 4]
    上面的代码也可以这样
     
    #!/usr/bin/python
    nums=['a','a',3,4,3]
    nums6=[]
    [nums6.append(i) for i in nums if not i in nums6]
    print(nums6)# display ['a', 3, 4]
    这样就可以保证排序不变了
  • 相关阅读:
    ES6核心内容精讲--快速实践ES6(三)
    ES6核心内容精讲--快速实践ES6(二)
    ES6核心内容精讲--快速实践ES6(一)
    webpack入门
    centos 7 nodejs 安装
    android结合Jenkins使用V2签名
    dockerfile 创建Jenkins镜像
    ubuntu docker 安装
    shell sed语法详解
    mac关于stf开源工具安装
  • 原文地址:https://www.cnblogs.com/lcl0421/p/8288708.html
Copyright © 2011-2022 走看看