357sorted 函数高级用法

Posted alex-bn-lee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了357sorted 函数高级用法相关的知识,希望对你有一定的参考价值。

参考: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() 来实现

以上是关于357sorted 函数高级用法的主要内容,如果未能解决你的问题,请参考以下文章

Python 内置函数sorted()有哪些高级用法?

vector中sort用法到自定义比较函数comp

Python sorted 函数用法

java8 .stream().sorted().filter().map().collect()用法

从最简单的vector中sort用法到自定义比较函数comp后对结构体排序的sort算法

shell高级用法--函数