Sorted() function in Python

29 Dec, 2021
Python sorted() function returns a sorted list from the iterable object.
Sorted() sorts any sequence (list, tuple) and always returns a list with the elements in a sorted manner, without modifying the original sequence.
Syntax: sorted(iterable, key, reverse)
Parameters: sorted takes three parameters from which two are optional. 
Iterable : sequence (list, tuple, string) or collection (dictionary, set, frozenset) or any other iterator that needs to be sorted.
Key(optional) : A function that would server as a key or a basis of sort comparison.
Reverse(optional) : If set true, then the iterable would be sorted in reverse (descending) order, by default it is set as false.
Python3
x = [2, 8, 1, 4, 6, 3, 7] print("Sorted List returned :"),print(sorted(x)) print("\nReverse sort :"),print(sorted(x, reverse=True)) print("\nOriginal list not modified :"),print(x)
Output:
Sorted List returned : [1, 2, 3, 4, 6, 7, 8]

Reverse sort : [8, 7, 6, 4, 3, 2, 1]

Original list not modified : [2, 8, 1, 4, 6, 3, 7]
Python3
# Listx = ['q', 'w', 'r', 'e', 't', 'y']print(sorted(x)) # Tuplex = ('q', 'w', 'e', 'r', 't', 'y')print(sorted(x)) # String-sorted based on ASCII translationsx = "python"print(sorted(x)) # Dictionaryx = {'q': 1, 'w': 2, 'e': 3, 'r': 4, 't': 5, 'y': 6}print(sorted(x)) # Setx = {'q', 'w', 'e', 'r', 't', 'y'}print(sorted(x)) # Frozen Setx = frozenset(('q', 'w', 'e', 'r', 't', 'y'))print(sorted(x))
Output:
['e', 'q', 'r', 't', 'w', 'y']
['e', 'q', 'r', 't', 'w', 'y']
['h', 'n', 'o', 'p', 't', 'y']
['e', 'q', 'r', 't', 'w', 'y']
['e', 'q', 'r', 't', 'w', 'y']
['e', 'q', 'r', 't', 'w', 'y']
Python3
# Python3 code to demonstrate# Reverse Sort a String# using join() + sorted() + reverse   # initializing stringtest_string = "geekforgeeks"   # printing original stringprint("The original string : " + str(test_string))   # using join() + sorted() + reverse# Sorting a stringres = ''.join(sorted(test_string, reverse = True))       # print resultprint("String after reverse sorting : " + str(res))
Output:
The original string : geekforgeeks
String after reverse sorting : srokkggfeeee
Python3
# Python code to demonstrate# Reverse Sort a String# using sorted() + reduce() + lambda # import the moduleimport functools# initializing stringtest_string = "geekforgeeks" # printing original stringprint("The original string : " + str(test_string)) # using sorted() + reduce() + lambda# Reverse Sort a Stringres = functools.reduce(lambda x, y: x + y,                       sorted(test_string,                              reverse=True)) # print resultprint("String after reverse sorting : " + str(res))
Output:
The original string : geekforgeeks
String after reverse sorting : srokkggfeeee
sorted() function has an optional parameter called ‘key’ which takes a function as its value. This key function transforms each element before sorting, it takes the value and returns 1 value which is then used within sort instead of the original value. For example, if we pass a list of strings in sorted(), it gets sorted alphabetically. But if we specify key = len, i.e. give len function as key, then the strings would be passed to len, and the value it returns, i.e. the length of strings will be sorted. This means that the strings would be sorted based on their lengths instead
Python3
L = ["cccc", "b", "dd", "aaa"] print("Normal sort :", sorted(L)) print("Sort with len :", sorted(L, key=len))
Output:
Normal sort : ['aaa', 'b', 'cccc', 'dd']
Sort with len : ['b', 'dd', 'aaa', 'cccc']
Key can also take user-defined functions as its value for the basis of sorting.
Python3
# Sort a list of integers based on# their remainder on dividing from 7def func(x):    return x % 7 L = [15, 3, 11, 7] print("Normal sort :", sorted(L))print("Sorted with key:", sorted(L, key=func))
Output:
Normal sort : [3, 7, 11, 15]
Sorted with key: [7, 15, 3, 11]
This article is contributed by Harshit Agrawal. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
kumar_satyam
Spider_man
Python-Library
Python
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Python Dictionary
Enumerate() in Python
Read a file line by line in Python
Different ways to create Pandas Dataframe
How to Install PIP on Windows ?
Python String | replace()
Introduction To PYTHON
Python OOPs Concepts
Python Classes and Objects
*args and **kwargs in Python