  Python | Sort list containing alphanumeric values

Python Methods and Functions

Examples :

Input:  ['k', 5,' e', 3, 'g', 7, 0,' t']  Output:  [0, 3, 5, 7, 'e',' g', 'k',' t']  Input:  [1, ' c', 3, 2, 'a',' b']  Output:  [1, 2, 3, 'a',' b', 'c']

Approach 1: Using the sort () method

To use the Python sort () method we need to first transform all the list values to type str . There are now two methods for converting values ​​to a string.

• Method # 1: Understanding a List
Understanding a Python List can simply be used to convert each item in a list string type. We sort it, and since all values ​​are now str, we change the final list to its original form.

 # Python3 list sorting program # contains alphabetic and numeric values ​​   def sort (lst):   lst = [ str (i) for i in lst] lst.sort () lst = [ int (i) if i.isdigit () else i for i in lst] return lst    # Driver code lst = [ 'k' , 5 , 'e' , 3 , 'g' , 7  , 0 , 't' ] print ( sort (lst))

Exit:

[0, 3, 5, 7, 'e',' g', 'k',' t']
• Method # 2: Usage key function

The key function serves as a key to compare sorting, which in our case is str .

 # Python3 sorting program list # contains alphabetic and numeric values ​​ def sort (lst):   lst.sort (key = str ) return lst   # Driver code lst = [ 'k' , 5 , 'e' , 3 , 'g' , 7 , 0 , 't' ] print (sort (lst))

Output:

[0, 3, 5, 7 , 'e',' g', 'k',' t']

Approach 2: sorted ()

Alternatively, you can also use Python's built-in sorted () function for the same purpose. The simplest difference between sort () and sorted () is that sort () does not return any value, but sorted ( ) returns an iterative list. Now again there are two ways to use sorted () .

• Method # 1: Using the key function

 # Python3 sorting list # contains alphabetic and numeric values ​​   def sort (lst):   return sorted (lst, key = str )   # Driver code lst = [ 'k' , 5 , 'e' , 3 , 'g' , 7 , 0 , 't ' ] print (sort (lst ))

Exit:

[ 0, 3, 5, 7, 'e',' g', 'k',' t']
• Method # 2: lambda

 # Python3 list sorting program # contains alphabetic and numeric values ​​    def sort (lst):   return sorted (lst, key = lambda x: ( isinstance (x, str ), x))    # Driver code lst = [ 'k' , 5 , 'e' , 3 , 'g' , 7 , 0 , 't' ] print (sort (lst))

Exit:

[0, 3, 5, 7, 'e',' g', 'k',' t']