alex-bn-lee

【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() 来实现

分类:

技术点:

相关文章: