方法一:
將list作為set的構造函數構造一個set,然后再將set轉換會list就可以
>>> myList = [1, 2, 3, 3, 2, 2, 4, 5, 5] >>> myList [1, 2, 3, 3, 2, 2, 4, 5, 5] >>> myList = list(set(myList)) >>> myList [1, 2, 3, 4, 5]
方法二:使用列表推導,只保留元素個數等於1
例如:
a = ['a', 'b', 'c', 'd', 'a', 'a'] b = [x for x in a if a.count(x) == 1] print b
不過還可以使用下面的方法,只是上面的方法更簡單
b = [] for x in a: if a.count(x) == 1: b.append(x) print b
方法三:使用字典中的fromkeys方法
a = ['b','c','d','b','c','a','a'] b = {}.fromkeys(a).keys() print b
方法四:用list類的sort方法
a = ['b','c','d','b','c','a','a'] b = list(set(a)) b.sort(key=a.index) print b 不過,也可以這樣寫 a = ['b','c','d','b','c','a','a'] b = sorted(set(a),key=a.index) print b
方法五:使用用遍歷
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 這樣就可以保證排序不變了: ['b', 'c', 'd', 'a']
方法六:使用lambda方法
>>> lst = [1, 2, 4, 5, 5, 5, 4, 7] >>> print filter(lambda x: lst.count(x)<2, lst) [1, 2, 7]