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]

 

這樣就可以保證排序不變了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM