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

Python的sorted()函数介绍及用法

发布时间:2023-06-16 12:56:05

Python是一种高级编程语言,拥有丰富的函数库和工具。其中一个强大的函数是sorted()函数。此函数用于排序任何序列类型的对象。 sorted()函数本身是一个内置函数。它不仅可以用于排序列表等可迭代对象,还可以用于排序诸如字典这样的映射类型,并将其转换为列表。本文将介绍sorted()函数的用法和功能。

---sorted()函数的语法及参数---

sorted()函数是Python编程语言中的一个内置函数,其语法如下:

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

参数说明:

1. iterable:表示待排序的对象。可以是列表、元组、字典等。

2. key:关键字参数,表示可调用对象,将其传给可迭代对象中的每个元素,并根据返回的结果进行排序。

3. reverse:布尔型参数,表示升序排列或降序排列。默认是升序排列。

---使用sorted()函数进行升序排序---

Python的sorted()函数在默认情况下执行升序排序。下面是一个示例,展示如何使用sorted()函数对列表进行升序排列。

(1)使用sorted()函数对数字列表进行排序

numbers = [20, 1, 3, 9, 35] 

print(sorted(numbers))         

输出:

[1, 3, 9, 20, 35]

(2)使用sorted()函数对字符串列表进行排序

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

print(sorted(fruits))         

输出:

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

从输出中可以看出,sorted()函数已经将该列表进行了升序排序并打印输出。

---使用sorted()函数进行降序排序---

sorted()函数还可以用于降序排列。可以使用reverse=True参数来设置该函数进行降序排序。下面是一个示例,展示如何使用sorted()函数对列表进行降序排列。

(1)使用sorted()函数对数字列表进行降序排序

numbers = [20, 1, 3, 9, 35] 

print(sorted(numbers, reverse=True))         

输出:

[35, 20, 9, 3, 1]

(2)使用sorted()函数对字符串列表进行降序排序

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

print(sorted(fruits, reverse=True))         

输出:

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

可以看出,将其降序排列后,可以获得按相反顺序排序的结果。

---使用sorted()函数根据关键字进行排序---

除了默认的升序和降序,还可以使用sorted()函数基于列表或字典等对象的某个字段或属性来执行排序。通过使用关键字参数key,可以使用lambda表达式(即单行匿名函数)来将每个元素映射到一个键,然后使用这些键进行排序。 下面是一个示例,展示如何根据列表中元素的长度进行排序。

words = ['banana', 'apple', 'kiwi', 'orange']

print(sorted(words, key=lambda x:len(x)))         

输出:

['kiwi', 'apple', 'banana', 'orange']

---使用sorted()函数对字典进行排序---

除了列表,sorted()函数还支持对字典进行排序。在对字典进行排序之前,首先需要将其转换为列表。可以使用items()将字典转换为元组列表,因为元组是可以排序的。同样可以使用sorted()函数并以相同的方式进行排序。 下面是一个示例,展示如何使用sorted()函数对字典进行排序。

dict_1 = {'banana': 3, 'kiwi': 1, 'orange': 2} 

sorted_dict = sorted(dict_1.items(), key=lambda x: x[1]) 

print(sorted_dict)         

输出:

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

从输出中可以看出,该字典已被排序并转换为了列表。

---结论---

sorted()函数是Python语言中一个强大的排序工具,可以用于将任何序列类型的对象进行排序。除了默认的升序和降序排序方式,还可以通过关键字参数key来根据列表中元素的特定字段或属性进行排序。此外,sorted()函数还支持对字典进行排序。熟练使用sorted()函数将大大提高数据处理和分析的效率。