How do you remove duplicates from an array in python?
Learn how to remove duplicates from a List in Python. Show
ExampleRemove any duplicates from a List: mylist = ["a", "b", "a", "c", "c"] Try it Yourself » Example ExplainedFirst we have a List that contains duplicates: A List with Duplicatesmylist = ["a", "b", "a", "c", "c"] Create a dictionary, using the List items as keys. This will automatically remove any duplicates because dictionaries cannot have duplicate keys. Create a Dictionary mylist = ["a", "b", "a", "c", "c"] Then, convert the dictionary back into a list: Convert Into a List mylist = ["a", "b", "a", "c", "c"] Now we have a List without any duplicates, and it has the same order as the original List. Print the List to demonstrate the result Print the List mylist = ["a", "b", "a", "c", "c"] Create a FunctionIf you like to have a function where you can send your lists, and get them back without duplicates, you can create a function and insert the code from the example above. Example def my_function(x): mylist = my_function(["a", "b", "a", "c", "c"]) print(mylist) Try it Yourself » Example ExplainedCreate a function that takes a List as an argument. Create a Functiondef my_function(x): mylist = my_function(["a", "b", "a", "c", "c"]) print(mylist) Create a dictionary, using this List items as keys. Create a Dictionarydef my_function(x): mylist = my_function(["a", "b", "a", "c", "c"]) print(mylist) Convert the dictionary into a list. Convert Into a Listdef my_function(x): mylist = my_function(["a", "b", "a", "c", "c"]) print(mylist) Return the list Return Listdef my_function(x): mylist = my_function(["a", "b", "a", "c", "c"]) print(mylist) Call the function, with a list as a parameter: Call the Functiondef my_function(x): Print the result: Print the Resultdef my_function(x): mylist = my_function(["a", "b", "a", "c", "c"]) print(mylist)This article focuses on one of the operations of getting the unique list from a list that contains a possible duplicated. Remove duplicates from list operation has a large number of applications and hence, its knowledge is good to have. Method 1: Using *set()This is the fastest and smallest method to achieve a particular task. It first removes the duplicates and returns a dictionary which has to be converted to list. Python3
Output: Original list: [1, 2, 4, 2, 1, 4, 5] List after removing duplicate elements: [1, 2, 4, 5] Method 2: Using list comprehensionThis method has working similarly to the above method, but this is just a one-liner shorthand of a longer method done with the help of list comprehension. Python3
Output : The original list is : [1, 3, 5, 6, 3, 5, 6, 1] The list after removing duplicates : [1, 3, 5, 6] Method 3: Using set()This is the most popular way by which the duplicates are removed from the list. But the main and notable drawback of this approach is that the ordering of the element is lost in this particular method. Python3
Output : The original list is : [1, 5, 3, 6, 3, 5, 6, 1] The list after removing duplicates : [1, 3, 5, 6] Method 4: Using list comprehension + enumerate()list comprehension coupled with enumerate function can also achieve this task. It basically looks for already occurred elements and skips adding them. It preserves the list ordering. Python3
Output : The original list is : [1, 5, 3, 6, 3, 5, 6, 1] The list after removing duplicates : [1, 5, 3, 6] Method 5: Using collections.OrderedDict.fromkeys() This is the fastest method to achieve a particular task. It first removes the duplicates and returns a dictionary which has to be converted to list. This works well in the case of strings also. Python3
Output: The original list is : [1, 5, 3, 6, 3, 5, 6, 1] The list after removing duplicates : [1, 5, 3, 6] Method 6: Using in, not in operators Python3
Output The original list is : [1, 5, 3, 6, 3, 5, 6, 1] The list after removing duplicates : [1, 5, 3, 6] |