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

Python中的sorted函数用途和示例说明

发布时间:2023-05-23 11:05:23

Python中的sorted函数是Python内置函数之一,常用于对序列进行排序操作。sorted函数能够对列表中的每一个元素进行排序,可以使用该函数对字符串、元组和字典等数据类型进行排序。使用sorted函数将会返回一个新的排序后的列表。下面是关于sorted函数的更详细说明和示例。

## 1.用途

sorted函数用于对列表或可迭代的对象进行排序,按照一定的规则进行分类,生成新的排序列表。该函数的用途不限于简单的数值排序,也可对字符串、字典等其他类型的数据进行排序。

## 2. 语法

sorted(iterable, key=None, reverse=False)

其中,iterable是指要排序的可迭代对象,key是个关键字函数,用于从每个元素中提取比较关键字,reverse是指排序规则,True为降序,False为升序(默认值)。

## 3. 示例

### 3.1 数值列表排序

示例1:对一个数字列表进行升序排序。

num_list = [5, 3, 8, 1, 4]
sorted_list = sorted(num_list)
print(sorted_list)

运行结果:

[1, 3, 4, 5, 8]

示例2:对一个数字列表进行降序排序。

num_list = [5, 3, 8, 1, 4]
sorted_list = sorted(num_list, reverse=True)
print(sorted_list)

运行结果:

[8, 5, 4, 3, 1]

### 3.2 字符串排序

示例3:对一个字符串列表进行升序排序。

str_list = ['apple', 'orange', 'banana', 'grape']
sorted_list = sorted(str_list)
print(sorted_list)

运行结果:

['apple', 'banana', 'grape', 'orange']

示例4:将一个字符串列表按照字符串长度升序排序。

str_list = ['apple', 'pear', 'banana', 'grape']
sorted_list = sorted(str_list, key=len)
print(sorted_list)

运行结果:

['pear', 'apple', 'grape', 'banana']

### 3.3 字典排序

示例5:根据字典的key对字典进行升序排序。

dict1 = {1: 'apple', 2: 'orange', 3: 'banana'}
sorted_dict = sorted(dict1.items())
print(sorted_dict)

运行结果:

[(1, 'apple'), (2, 'orange'), (3, 'banana')]

示例6:根据字典的value对字典进行升序排序。

dict2 = {1: 'apple', 3: 'banana', 2: 'orange'}
sorted_dict2 = sorted(dict2.items(), key=lambda x: x[1])
print(sorted_dict2)

运行结果:

[(1, 'apple'), (3, 'banana'), (2, 'orange')]

### 3.4 自定义排序规则

示例7:将一个字符串列表按照字符串中的数字大小升序排序。

string_list = ['a1','a12','a10','a2']
sorted_list = sorted(string_list, key=lambda x:int(re.findall('\d+',x)[0]))
print(sorted_list)

运行结果:

['a1', 'a2', 'a10', 'a12']

在该示例中,函数实现了将字符串列表按字符串中的数字大小升序排序的操作,使用lambda表达式提取字符串中的数字,根据数字大小排序即可。

总结

sorted函数是Python语言中排序操作的重要函数,可以对各种类型的数据进行排序,还可以允许用户自定义排序规则。通过以上各种示例,相信读者已经对sorted函数有了更为深入地理解。