sorted 函数

简介: sorted 函数

系统函数sorted() 函数对所有可迭代的对象进行排序操作。

sorted(iterable, cmp=None, key=None, reverse=False)

#对列表进行排序

>>> a = [5,3,4,2,1]

>>> print(sorted(a))

#再次输出原来的列表 a

>>> print(a)

-------------------------------------------------------

[1, 2, 3, 4, 5]

[5, 3, 4, 2, 1]



#对列表进行排序, reverse 参数值改为 True,可实现降序排序

a = [5,3,4,2,1]

print(sorted(a,reverse=True))

-------------------------------------------------------

[5, 4, 3, 2, 1]



>>> L=[('b',2),('a',1),('c',3),('d',4)]

>>> sorted(L, cmp=lambda x,y:cmp(x[1],y[1]))   # 利用cmp函数

[('a', 1), ('b', 2), ('c', 3), ('d', 4)]

>>> sorted(L, key=lambda x:x[1])               # 利用key

[('a', 1), ('b', 2), ('c', 3), ('d', 4)]


示例一:字符串列表排序

以下示例使用 sorted() 函数对字符串列表按照字母顺序进行排序:

guests = ['James', 'Mary', 'John', 'Patricia', 'Robert', 'Jennifer']
sorted_guests = sorted(guests)
print(guests)
print(sorted_guests)

输出结果如下:

['James', 'Mary', 'John', 'Patricia', 'Robert', 'Jennifer']
['James', 'Jennifer', 'John', 'Mary', 'Patricia', 'Robert']

从输出结果可以看出,原始列表并没有改变。sorted() 函数基于原始列表返回了一个新的有序列表。

以下示例使用 sorted() 函数对 guests 列表进行反向排序:

guests = ['James', 'Mary', 'John', 'Patricia', 'Robert', 'Jennifer']
sorted_guests = sorted(guests, reverse=True)
print(sorted_guests)

输出结果如下:

['Robert', 'Patricia', 'Mary', 'John', 'Jennifer', 'James']



相关文章
|
6月前
lambda中sorted排序
lambda中sorted排序
|
6月前
|
存储 算法 容器
【C++11算法】is_sorted、is_sorted_until
【C++11算法】is_sorted、is_sorted_until
|
搜索推荐 C++
sort()函数详解
sort()函数详解
111 0
Search in Rotated Sorted Array - 循环有序数组查找问题
Search in Rotated Sorted Array - 循环有序数组查找问题
69 0
LeetCode 80 Remove Duplicates from Sorted Array II
给定排序的数组nums,就地删除重复项,使重复项最多出现两次并返回新的长度. 不要为另一个数组分配额外的空间,必须通过使用O(1)复杂度的额外空间来修改输入数组,从而实现此目的.
66 0
LeetCode 80 Remove Duplicates from Sorted Array II
|
Python
Python编程:列表List.sort和sorted方法排序
Python编程:列表List.sort和sorted方法排序
118 0
|
Python
Python编程:字典排序sorted问题
Python编程:字典排序sorted问题
130 0
Leetcode-Easy 977. Squares of a Sorted Array
Leetcode-Easy 977. Squares of a Sorted Array
94 0
LeetCode之Remove Duplicates from Sorted Array II
LeetCode之Remove Duplicates from Sorted Array II
88 0
LeetCode之Remove Duplicates from Sorted Array
LeetCode之Remove Duplicates from Sorted Array
70 0