📅  最后修改于: 2020-10-30 05:32:30             🧑  作者: Mango
Python sorted()函数用于对元素进行排序。默认情况下,它按升序对元素进行排序,但也可以降序对元素进行排序。它需要四个参数,并按排序顺序返回collection。对于字典,它仅对键排序,而不对值排序。该函数的签名在下面给出。
sorted (iterable[, cmp[, key[, reverse]]])
可迭代:执行排序的集合。
cmp:自定义比较函数。默认值为“无”。
键:一个函数。
反向:以反向顺序获得排序的集合。
它返回一个唯一的整数。
让我们来看一些id()函数的示例,以了解其功能。
在这里,在此示例中,我们正在对字符串对象进行排序以了解该函数。
# Python sorted() function example
str = "javatpoint" # declaring string
# Calling function
sorted1 = sorted(str) # sorting string
# Displaying result
print(sorted1)
输出:
['a', 'a', 'i', 'j', 'n', 'o', 'p', 't', 't', 'v']
我们可以使用此函数对列表,元组和字典之类的可迭代对象进行排序。请参见下面的示例。
# Python sorted() function example
li = [2003,56,98,659,622,1002,3652]
tupl = (232,2500,3698,5264,2578,21)
dic = {3: 'Three',4:'Four',1:'One',2:'Two'}
# Calling function
lisorted = sorted(li) # sorting list
tupsorted = sorted(tupl) # tuple
dicsorted = sorted(dic) # dictionary
# Displaying result
print(lisorted)
print(tupsorted)
print(dicsorted)
输出:
[56, 98, 622, 659, 1002, 2003, 3652]
[21, 232, 2500, 2578, 3698, 5264]
[1, 2, 3, 4]
要将列表按相反的顺序(降序)排序,请将True反向传递,我们将获得按相反顺序排序的列表。
# Python sorted() function example
li = [2003,56,98,659,622,1002,3652]
# Calling function
lisorted = sorted(li, reverse = True) # Sorting list in descending order
# Displaying result
print(lisorted)
输出:
[3652, 2003, 1002, 659, 622, 98, 56]
在这里,我们通过在调用期间在键中传递lambda函数来对列表进行排序。
# Python sorted() function example
li = [(2,15),(3,5),(65,5),(8,5)]
# Calling function
lisorted = sorted(li, key=lambda x: sum(x)) # Sorting list by getting sum of tuples
# Displaying result
print(lisorted)
输出:
[(3, 5), (8, 5), (2, 15), (65, 5)]