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’ , , 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

Gifts for programmers

Best laptop for Excel

$
Gifts for programmers

Best laptop for Solidworks

$399+
Gifts for programmers

Best laptop for Roblox

$399+
Gifts for programmers

Best laptop for development

$499+
Gifts for programmers

Best laptop for Cricut Maker

$299+
Gifts for programmers

Best laptop for hacking

$890
Gifts for programmers

Best laptop for Machine Learning

$699+
Gifts for programmers

Raspberry Pi robot kit

$150

Latest questions

PythonStackOverflow

Common xlabel/ylabel for matplotlib subplots

1947 answers

PythonStackOverflow

Check if one list is a subset of another in Python

1173 answers

PythonStackOverflow

How to specify multiple return types using type-hints

1002 answers

PythonStackOverflow

Printing words vertically in Python

909 answers

PythonStackOverflow

Python Extract words from a given string

798 answers

PythonStackOverflow

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

606 answers

PythonStackOverflow

Python os.path.join () method

384 answers

PythonStackOverflow

Flake8: Ignore specific warning for entire file

360 answers

News


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

Python add suffix / add prefix to strings in a list

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

Python - Move item to the end of the list

Python - Print list vertically