【357】sorted 函数高级用法

参考:Python 内置函数sorted()在高级用法 - Brad1994 - 博客园  

sorted 函数主要实现的就是对于可迭代对象进行排序,对于一维数据排序很好理解与实现,直接调用即可,本文主要讲解对于二维数据的调用,以及字典的调用。

语法如下: sorted(iterable[, cmp[, key[, reverse]]]) 

  • iterable:可迭代对象,列表、数组、字典
  • key:对于二维数据指定需要排序的列
  • reverse:True 降序,False 升序(默认)

示例如下:

>>> list1 = [[2,3],
	     [4,2],
	     [8,1],
	     [3,4],
	     [5,9]]
>>> sorted(list1, key=lambda x:x[0])
[[2, 3], [3, 4], [4, 2], [5, 9], [8, 1]]
>>> sorted(list1, key=lambda x:x[1])
[[8, 1], [4, 2], [2, 3], [3, 4], [5, 9]]

>>> array1 = np.array(list1)
>>> array1
array([[2, 3],
       [4, 2],
       [8, 1],
       [3, 4],
       [5, 9]])
>>> np.array(sorted(array1, key=lambda x:x[0]))
array([[2, 3],
       [3, 4],
       [4, 2],
       [5, 9],
       [8, 1]])
>>> np.array(sorted(array1, key=lambda x:x[1]))
array([[8, 1],
       [4, 2],
       [2, 3],
       [3, 4],
       [5, 9]])

>>> dict = {'e': 1, 'd': 6, 'b': 3}
>>> sorted(dict.items(), key=lambda x:x[0])
[('b', 3), ('d', 6), ('e', 1)]
>>> sorted(dict.items(), key=lambda x:x[1])
[('e', 1), ('b', 3), ('d', 6)]

主要是通过 lambda 函数说明需要排序的列,对于字典要特别注意,需要使用 .items() 来实现

原文地址:https://www.cnblogs.com/alex-bn-lee/p/10316371.html