How to sort a list that contains a mix of numbers as strings and numbers in Python

2 Answers

0 votes
def sort_mixed_list(mixed_lst):
   return sorted(mixed_lst, key=lambda x: int(x)) 

mixed_list = ["10", 5, "3", 1, "44", 2]

sorted_mixed_list = sort_mixed_list(mixed_list)
 
print(sorted_mixed_list)
 
 
   
'''
run:
   
[1, 2, '3', 5, '10', '44']
   
'''

 



answered Jan 22 by avibootz
0 votes
def sort_mixed_list(mixed_lst):
   return sorted(mixed_lst, key=lambda x: float(x))

mixed_list = ["10", 16.8, "3.14", 5, "3", 1, "44", 2]

sorted_mixed_list = sort_mixed_list(mixed_list)
 
print(sorted_mixed_list)
 
 
   
'''
run:
   
[1, 2, '3', '3.14', 5, '10', 16.8, '44']
   
'''

 



answered Jan 22 by avibootz
...