当前位置 : 主页 > 编程语言 > python >

sort and sorted用法

来源:互联网 收集:自由互联 发布时间:2022-06-30
sort sort是list的内部函数sort(key=None, reverse=False)。 调用sort函数改变list本身,不会返回新的list, 这个和sorted的本质区别。下面介绍下参数 key参数 排序的关键字, 如果排序按照特定的要

sort

sort是list的内部函数sort(key=None, reverse=False)。 调用sort函数改变list本身,不会返回新的list, 这个和sorted的本质区别。下面介绍下参数

key参数

排序的关键字, 如果排序按照特定的要求,这个是非常有用的。看下面例子

  • 按照字母长度排序​​

​​>>> words = ['hello', 'i', 'am', 'peter']  ​​

​​>>> words.sort(key=len)​​

​​>>> words ['i', 'am', 'hello', 'peter']​​

  • 按第一个字母排序

​​>>> words.sort(key=lambda k: k[0])  ​​

​​>>> words ​​

​​['am', 'hello', 'i', 'peter']​​

  • 如果是json,也可以按照内嵌的某个field的排序

​​>>> grades = [{'name': 'rock', 'math':90}, {'name':'jacky', 'math':80}]  ​​

​​>>> grades.sort(key=lambda k:k['math'])                                  ​​

​​>>> grades                                                               ​​

​​[{'name': 'jacky', 'math': 80}, {'name': 'rock', 'math': 90}]​​

reverse参数

排序的顺序,默认是正序


​​>>> words.sort(key=lambda k: k[0], reverse=True)                          ​​

​​>>> words ​​

​​['peter', 'i', 'hello', 'am']​​


sorted

sorted 是python内置方法, 和len, list之类的方法是一样的, 返回是一个新的list对象。

sorted(iterable, key=None, reverse=False), 用法和sort类似

​​>>> sorted(words, key=lambda k: k[0])  ​​

​​['am', 'hello', 'i', 'peter']​​

上一篇:Python基础6 爬虫中使用无头浏览器 PhantomJS
下一篇:没有了
网友评论