Entry
Removing duplicate elements from list
Feb 1st, 2007 13:56
Miguel Ángel Alarcos, thanos vassilakis, Nathan Wallace, unknown unknown, Hans Nowak, Snippet 390, Python Snippets Support Team
"""
Packages: basic_datatypes.lists
"""
def remove_dups(lst):
""" Removes duplicate elements from list. Drawbacks:
- Returns an unsorted list.
- Does not work with lists, dicts etc. as list elements.
"""
dick = {}
for item in lst:
dick[item] = None
return dick.keys()
#Or slightly faster [tv]:
from operator import setitem
def distinct(lst):
dict={}
setter = setitem
map(setter, (dict,)*len(lst), lst, [])
return dict.keys()
if __name__ == "__main__":
L = [1, "glork", "foo", -2.1, "foo", "bar", "glork", -2.2, -2.1, 1,
1,
7, 12, 100L, -2.1, 18]
print remove_dups(L)
#This one:
[i for i in x if x.count(i) == 1]