本文原创,版权属作者个人所有,如需转载请联系作者本人。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]
这样就可以保证排序不变了