Change language

# Python | Sort list containing alphanumeric values

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’] `

## Shop

Best laptop for Excel

\$

Best laptop for Solidworks

\$399+

Best laptop for Roblox

\$399+

Best laptop for development

\$499+

Best laptop for Cricut Maker

\$299+

Best laptop for hacking

\$890

Best laptop for Machine Learning

\$699+

Raspberry Pi robot kit

\$150

Latest questions

PythonStackOverflow

Common xlabel/ylabel for matplotlib subplots

PythonStackOverflow

Check if one list is a subset of another in Python

PythonStackOverflow

How to specify multiple return types using type-hints

PythonStackOverflow

Printing words vertically in Python

PythonStackOverflow

Python Extract words from a given string

PythonStackOverflow

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

PythonStackOverflow

Python os.path.join () method

PythonStackOverflow

Flake8: Ignore specific warning for entire file

## Wiki

Python | How to copy data from one Excel sheet to another

Common xlabel/ylabel for matplotlib subplots

Check if one list is a subset of another in Python

How to specify multiple return types using type-hints

Printing words vertically in Python

Python Extract words from a given string

Cyclic redundancy check in Python

Finding mean, median, mode in Python without libraries