Given a list, the task is to remove the duplicate elements. All the elements which are not in same order but made of same characters/numbers are considered as duplicates.
Examples:
Input : ['gfg', 'ggf', 'fgg', 'for', 'orf', 'ofr', 'rfo', 'rof', 'fro'] Output : ['for', 'fgg'] Input: ['110', '101', '001', '010', '100'] Output: ['001', '011']
Method #1 : Using set
Python3
# Python code to remove duplicate # unordered elements from a list from collections import Counter
# List initialisation Input = [ '1213' , '1231' , '1123' , '1132' , '2113' ,
'2311' , '0007' , '0016' , '0025' , '0034' ,
'0043' , '0052' , '0061' , '0070' , '0304' ,
'0313' , '0322' , '0098' , '9800' , '0331' ,
'0340' , '0403' , '0412' , '0421' , '0430' ,
'0502' , '8900' , '8009' , '0511' , '0520' ,
'0601' , '0610' , '0700' , '1006' , '1015' ]
# Set initialisation s = set ()
# Output list initialisation output = []
for i in Input :
if tuple (Counter( sorted (i, key = int )).items()) in s:
pass
else :
s.add( tuple (Counter( sorted (i, key = int )).items()))
output.append(i)
# Printing output print (output)
|
Output:
['1213', '0007', '0016', '0025', '0034', '0313', '0322', '0098', '0412', '0511']
Time Complexity: O(n), where n is the length of the list
Auxiliary Space: O(n) additional space of size n is created where n is the number of elements in the list
Method #2 :
Python3
# Python code to remove duplicate # unordered elements from a list # List initialisation Input = [ 'gfg' , 'ggf' , 'fgg' , 'for' , 'orf' ,
'ofr' , 'rfo' , 'rof' , 'fro' ]
# Getting unique nos Output = list ({''.join( sorted (n)) for n in Input })
# Printing Output print (Output)
|
Output:
['for', 'fgg']
Method #3:Using Counter() method
Python3
# Python code to remove duplicate # unordered elements from a list from collections import Counter
# List initialisation Input = [ 'gfg' , 'ggf' , 'fgg' , 'for' , 'orf' ,
'ofr' , 'rfo' , 'rof' , 'fro' ]
sortedList = list (''.join( sorted (n)) for n in Input )
freq = Counter(sortedList)
output = list (freq.keys())
output.sort() # Printing Output print (output)
|
Output
['fgg', 'for']
Time Complexity:O(NLogN)
Auxiliary Space: O(N)