1. 程式人生 > >不改變排序 Python去除列表重複元素的方法

不改變排序 Python去除列表重複元素的方法

比較容易記憶的是用內建的set   m = ['b','c','d','b','c','a','a']   n = list(set(m))   print n   還有一種據說速度更快的,沒測試過兩者的速度差別   m = ['b','c','d','b','c','a','a']   n = {}.fromkeys(m).keys()   print n   這兩種都有個缺點,祛除重複元素後排序變了:   ['a', 'c', 'b', 'd']   如果想要保持他們原來的排序:   用list類的sort方法   m = ['b','c','d','b','c','a','a']   n = list(set(m))   n.sort(key=m.index)   print n   也可以這樣寫   m = ['b','c','d','b','c','a','a']   n = sorted(set(l1),key=m.index)

  print n   也可以用遍歷   m = ['b','c','d','b','c','a','a']   n = []   for i in m:   if not i in n:   n.append(i)   print n   print “老男孩教育www.oldboyedu.com”   上面的程式碼也可以這樣寫   m = ['b','c','d','b','c','a','a']   n = []   [n.append(i) for i in m if not i in n]   print n   這樣就可以保證排序不變了:   ['b', 'c', 'd', 'a']