What's the difference between sort and sorted in usage?

2026-05-24 13:001阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计532个文字,预计阅读时间需要3分钟。

What's the difference between sort and sorted in usage?

`sort()` 函数是用于对列表进行排序的内置函数。它的基本形式是 `sort(key=None, reverse=False)`。调用 `sort()` 函数会直接修改列表本身,而不是返回一个新的列表。这与 `sorted()` 函数不同,`sorted()` 会返回一个新的排序列表。

参数说明:- `key`:用于指定排序的依据,即排序的键。- `reverse`:一个布尔值,当设置为 `True` 时,列表会被降序排序,否则默认为升序排序。

例如,如果我们想要按照列表元素的长度进行排序,可以这样调用 `sort()` 函数:pythonmy_list=['banana', 'apple', 'cherry']my_list.sort(key=len)print(my_list)这将输出:['apple', 'banana', 'cherry']在这里,我们通过 `key=len` 指定了排序的键是每个元素的长度。

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']​​


What's the difference between sort and sorted in usage?

sorted

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

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

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

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

本文共计532个文字,预计阅读时间需要3分钟。

What's the difference between sort and sorted in usage?

`sort()` 函数是用于对列表进行排序的内置函数。它的基本形式是 `sort(key=None, reverse=False)`。调用 `sort()` 函数会直接修改列表本身,而不是返回一个新的列表。这与 `sorted()` 函数不同,`sorted()` 会返回一个新的排序列表。

参数说明:- `key`:用于指定排序的依据,即排序的键。- `reverse`:一个布尔值,当设置为 `True` 时,列表会被降序排序,否则默认为升序排序。

例如,如果我们想要按照列表元素的长度进行排序,可以这样调用 `sort()` 函数:pythonmy_list=['banana', 'apple', 'cherry']my_list.sort(key=len)print(my_list)这将输出:['apple', 'banana', 'cherry']在这里,我们通过 `key=len` 指定了排序的键是每个元素的长度。

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']​​


What's the difference between sort and sorted in usage?

sorted

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

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

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

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