Python中的sorted()函数:用于按特定顺序对列表、元组或字典进行排序
Python语言在数据处理中的优越性由其各种图书馆、模块、函数和方法的方便性和灵活性构成。每个模块和库都掌握着一个特定的知识领域以及其知识领域相关的模块,而其函数和方法可以被组合使用以产生特定的数据分析或数据处理结果。排序是一个常见的数据处理任务,可以通过Python内置函数sorted()轻松完成。此函数可用于对列表、元组或字典进行排序。在本文章,我们将讨论sorted()函数的用法以及如何按特定顺序排序列表、元组或字典。
## sorted()函数的基本用法
sorted()函数是一个内置函数,用于对列表、元组或字典进行排序。此函数接受两个可选参数,包括“/”,“key”和“reverse”。
- iterable:可迭代类型的物品 (list, tuple, set etc.).
- / :在参数列表中分割位置,即可占用所有后面的位置。
- key:指定一个函数来生成用于排序比较的键。传递函数引用作为键。
- reverse:为True时,则以降序排列,为False时则以升序排列。默认为升序排列。
下面是一些例子:
- 对列表按升序排列:
my_list = [50, 20, 1, 5, 100] sorted_list = sorted(my_list) print(sorted_list)
- 对列表按照降序排列:
my_list = [50, 20, 1, 5, 100] sorted_list = sorted(my_list, reverse=True) print(sorted_list)
- 对元组按升序排列:
my_tuple = (50, 20, 1, 5, 100) sorted_tuple = sorted(my_tuple) print(sorted_tuple)
- 对字典按键值升序排列:
my_dict = {'l': 5, 'o': 1, 'q': 10, 'p': 8, 'j': 2}
sorted_dict = sorted(my_dict.items())
print(sorted_dict)
## sorted()函数的键参数(key)
sorted()函数可以使用键参数,该参数指定函数用于排序的键。排序函数需要一个参数,返回关键字值。这个函数将应用于iterable中的每个元素,并返回一个数字来比较iterable的元素。根据此数字,iterable中的项将被排序。
### 对列表进行基于长度的升序排序
使用一个lambda函数来获取每个元素的长度作为排序键,可以按列表项的长度进行排序。
my_list = ["apple", "banana", "pear", "orange"] sorted_list = sorted(my_list, key=lambda x: len(x)) print(sorted_list)
以上代码lambda函数可以遍历my_list中的每个元素并获取其长度(len())作为每个元素的排序键。这将按升序长度对列表进行排序。
在这里,我们通过使用lambda函数,将长度用作排序键。 让我们看看这个lambda函数的代码可以是什么样子的。
sorted_list = sorted(my_list, key= lambda x: len(x))
要指定排序参数键,必须将函数引用用作关键字参数的“键”。在这个例子中,lambda函数被用作函数引用,并被指定为排序关键字“键”,以按照升序的长度对给定的字符串列表进行排序。
### 按照字典中特定的键排序
sorted函数可以根据字典中特定的键进行排序。这可以通过传递lambda函数来实现。在lambda函数中,指定键,使其从字典项中提取值,并将其用作排序键。
my_dict = {'one': 1, 'two': 2, 'three': 3}
sorted_dict = sorted(my_dict.items(), key=lambda x: x[0])
print(sorted_dict)
通过此键参数和lambda函数机制,sorted()函数将按键名称对字典进行升序排序。lambda函数将提取键值对中的键并将其用作排序依据。如此,以上代码将使用键名称按升序排序字典项的键值对。
## sorted()函数的参数逆序(reverse)
该函数可以根据需要逆序排序。sorted函数除接受一个包含要排序元素的列表或元组之外,还接受选项reverse,以为True时,将返回按降序排列的列表或元组,否则按升序排列。
my_list = [50, 20, 1, 5, 100] sorted_list_asc = sorted(my_list, reverse=False) sorted_list_desc = sorted(my_list, reverse=True) print(sorted_list_asc) print(sorted_list_desc)
输出的结果将分别显示正序和倒序排序
## 总结
sorted()函数是Python语言中的内置函数,可用于对列表、元组或字典进行排序。此函数接受两个可选参数,包括“/”,“key”和“reverse”。关键字参数“key”用于按特定键排序,而排序默认是升序的。给定参数reverse = True之后,将返回降序排序的结果。sorted函数是实现数据处理中排序的一个好选择,它提供了优越的灵活性和可读性。当前,Python排序算法性能很强,这也可以节省CPU时间,也使代码更具效率。在上面提到的例子中,我们可以看到,我们可以按特定的键对列表、元组或字典进行排序,使数据的处理更具深度和优化,这使得Python成为数据科学中重要的语言之一。
