How to sort a list of numeric strings in ascending order with Python

2 Answers

0 votes
from functools import cmp_to_key
 
def CompareFunction(string1, string2):
    if (len(string1) == len(string2)):
        return int(string1) - int(string2)
    else:
        return len(string1) - len(string2)


lst = ["7", "0", "55", "8", "9", "6"]
 
lst.sort(key = cmp_to_key(CompareFunction))

for i in range(len(lst)) :
    print(lst[i], end=" ")
    
    

'''
run:

0 6 7 8 9 55 

'''

 



answered Sep 2, 2022 by avibootz
0 votes
lst = ["7", "0", "55", "8", "9", "6"]
 
lst.sort(key = int)

for i in range(len(lst)) :
    print(lst[i], end=" ")
    
    

'''
run:

0 6 7 8 9 55 

'''

 



answered Sep 2, 2022 by avibootz

Related questions

...