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]
    这样就可以保证排序不变了
  • 相关阅读:
    ADB常用命令
    Java内部开发框架
    Android开发的十个建议
    通过浏览器访问网站的过程
    CDN的概念和解决的问题
    nginx实现range请求
    Nginx如何重新编译添加模块
    MP4文件在线播放首屏慢的问题
    Ubuntu下添加程序到应用程序
    一致性hash
  • 原文地址:https://www.cnblogs.com/lcl0421/p/8288708.html
Copyright © 2011-2022 走看看