本文原創,版權屬作者個人所有,如需轉載請聯系作者本人。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]
這樣就可以保證排序不變了