What's the difference between sort and sorted in usage?
- 内容介绍
- 文章标签
- 相关推荐
本文共计532个文字,预计阅读时间需要3分钟。
`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']
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分钟。
`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']
sorted
sorted 是python内置方法, 和len, list之类的方法是一样的, 返回是一个新的list对象。
sorted(iterable, key=None, reverse=False), 用法和sort类似
>>> sorted(words, key=lambda k: k[0])
['am', 'hello', 'i', 'peter']

