How to remove tuples having duplicate first value from a list of tuples in Python

2 Answers

0 votes
lst_tpl = [(43, 'python'),  
           (16, 'java'),  
           (19, 'c'),  
           (43, 'c++'),  
           (27, 'c#'),  
           (43, 'php')] 
  
seen = set() 
  
result = [(x, y) for x, y in lst_tpl if not (x in seen or seen.add(x))] 
  
print(result) 



'''
run:

[(43, 'python'), (16, 'java'), (19, 'c'), (27, 'c#')]

'''

 



answered Dec 16, 2019 by avibootz
0 votes
from collections import OrderedDict 

lst_tpl = [(43, 'python'),  
           (16, 'java'),  
           (19, 'c'),  
           (43, 'c++'),  
           (27, 'c#'),  
           (43, 'php')] 
  
result = OrderedDict(lst_tpl).items() 
  
print(list(result)) 



'''
run:

[(43, 'php'), (16, 'java'), (19, 'c'), (27, 'c#')]

'''

 



answered Dec 16, 2019 by avibootz
...