欢迎访问宙启技术站
智能推送

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内置函数,用于对可迭代对象进行排序操作。该函数支持指定排序顺序和关键字,并可以处理各种不同的排序需求。