Python去除list中重複的元素
阿新 • • 發佈:2019-02-03
- 可以使用內建的set方法
list1 = ['b','c','d','b','c','a','a']
list2 = list(set(list1))
print list2
- 速度更快的一種方法
list1 = ['b','c','d','b','c','a','a']
list2 = {}.fromkeys(list1).keys()
print list2
但是通過這兩種方法獲得的list2排序變了,如果想維持原來list的排序可以通過以下方法:
- 用list類的sort方法
l1 = ['b','c','d','b','c','a','a']
l2 = list(set(l1))
l2.sort (key=l1.index)
print l2
- 也可以這樣寫
l1 = ['b','c','d','b','c','a','a']
l2 = sorted(set(l1),key=l1.index)
print l2
- 也可以用遍歷(看起來比較蠢)
l1 = ['b','c','d','b','c','a','a']
l2 = []
for i in l1:
if not i in l2:
l2.append(i)
print l2
- 上面的程式碼也可以這樣寫
l1 = ['b','c','d','b','c','a','a']
l2 = []
[l2.append(i) for i in l1 if not i in l2]
print l2