sort函数用法及实例
发布时间:2023-06-11 05:15:48
sort函数是Python内置函数,用于对列表、元组等可迭代对象进行排序操作。在排序时,可以指定排序的顺序(升序或降序)以及排序的关键字(按照指定的字段进行排序)。
sort函数的用法如下:
list.sort(key=None, reverse=False) sorted(iterable, key=None, reverse=False)
其中,list.sort()是列表的方法,sorted()是Python内置函数。两者都支持key和reverse参数。
- key:排序时所使用的关键字
- reverse:排序的顺序,True为降序,False为升序(默认值)
下面通过几个实例来演示sort函数的用法。
### 实例1:对列表进行排序
首先,我们来看一下对列表进行排序的实例。假设我们有一个浮点型列表,需要对其中的元素进行排序。我们可以使用sort函数将列表按升序排序,或者按降序排序。
# 升序排序 lst = [9.5, 2.4, 1.2, 6.7, 5.0] lst.sort() print(lst) # [1.2, 2.4, 5.0, 6.7, 9.5] # 降序排序 lst.sort(reverse=True) print(lst) # [9.5, 6.7, 5.0, 2.4, 1.2]
### 实例2:按键值对中的值进行排序
接下来,我们来看一下如何按键值对中的值进行排序。假设我们有一个字典,其中包含数名和对应的成绩,需要按照成绩从高到低进行排序。我们可以通过指定key参数来实现这个操作。
# 按成绩从高到低排序
scores = {
'Tom': 80,
'Jack': 90,
'Sara': 75,
'Alice': 85
}
sorted_scores = sorted(scores.items(), key=lambda x: x[1], reverse=True)
print(sorted_scores) # [('Jack', 90), ('Alice', 85), ('Tom', 80), ('Sara', 75)]
在这个实例中,我们使用了sorted函数来对字典进行排序,并指定了key参数为lambda表达式,表示按照键值对中的值排序。
### 实例3:按元素长度排序
最后,我们来看一个稍微有些复杂的排序实例。假设我们有一个包含多个字符串的列表,需要按照字符串的长度进行排序,相同长度的字符串按照字典序进行排序。
# 按字符串长度和字典序排序 str_list = ['hello', 'world', 'python', 'sort', 'function', 'is', 'great'] sorted_list = sorted(str_list, key=lambda x: (len(x), x)) print(sorted_list) # ['is', 'sort', 'great', 'hello', 'python', 'world', 'function']
在这个实例中,我们先使用lambda表达式计算字符串的长度,然后再按照元组的形式指定两个排序关键字,其优先级从左到右,表示先按照字符串长度排序,再按照字典序进行排序。
综上所述,sort函数是Python内置函数,用于对可迭代对象进行排序操作。该函数支持指定排序顺序和关键字,并可以处理各种不同的排序需求。
