Python中的Sorting函数:排序表格数据轻而易举
在Python中,有多种内建的排序函数可以用来对数据进行排序。这些函数可以用于列表、元组、字典等数据结构,而且排序方式也是多种多样,可以根据需要进行选择。在本篇文章中,我们将讨论Python的Sorting函数,具体的内容如下:
1. 简介
Python中内建了多种排序函数,其中最常见的就是sort()函数和sorted()函数。这两个函数的使用方法比较相似,但是又有一些差别。sort()函数可以直接对原列表进行排序,而sorted()函数返回一个新的已排序列表,原列表不受影响。
2. sort()函数
sort()函数可以对原列表进行排序。sort()函数的方法是在原列表上修改,而不是返回一个新的列表。sort()函数默认对列表进行升序排列。
下面是一个使用sort()函数的例子:
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5] my_list.sort() print(my_list)
输出:[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
这里的my_list是一个列表,我们可以直接使用sort()函数进行排序,结果为升序排列。
sort()函数还有一个可选的参数reverse,用于控制排序的方向。如果reverse=True,则进行降序排列;如果reverse=False,则进行升序排列。下面是一个使用reverse参数的例子:
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5] my_list.sort(reverse=True) print(my_list)
输出:[9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]
这里我们使用sort()函数进行降序排列,结果显示列表中的元素从大到小排列。
3. sorted()函数
sorted()函数与sort()函数有一些相似之处,不同的是,sorted()函数会生成一个新的列表,原列表不会受到影响。sorted()函数有两种语法:
sorted(iterable, *, key=None, reverse=False)
或者:
sorted(iterable, key=None, reverse=False)
其中,iterable是排序对象,key是排序关键字函数,reverse是控制排序方向的参数。
下面是使用sorted()函数的一个例子:
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5] new_list = sorted(my_list) print(new_list)
输出:[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
我们先定义了一个列表my_list,然后使用sorted()函数对它进行排序并将结果保存在新列表new_list中,最后打印新列表即可。
sorted()函数同样支持reverse参数,用于控制排序方向,这里就不再赘述了。
4. 使用Sorting函数对表格数据进行排序
除了可以处理列表、元组等数据结构外,Sorting函数还可以用来对表格数据进行排序。表格数据通常是一个二维矩阵,可以使用嵌套列表表示。下面是一个示例:
person_info = [
['Alex', 19, 'male', 'Canada'],
['Tina', 25, 'female', 'USA'],
['Bob', 22, 'male', 'France'],
['Cindy', 20, 'female', 'China'],
['David', 24, 'male', 'UK'],
['Emily', 21, 'female', 'Australia'],
]
这里我们定义了一个person_info二维列表,每个子列表包含了一个人的名字、年龄、性别和国籍。如果我们想按照年龄对这些人进行排序,可以使用sorted()函数,并在key参数中指定年龄作为关键字:
sorted_person_info = sorted(person_info, key=lambda x: x[1]) print(sorted_person_info)
这里我们使用lambda函数将x[1]作为关键字,x[1]表示取每个人的年龄作为排序依据。输出结果为:
[['Alex', 19, 'male', 'Canada'], ['Cindy', 20, 'female', 'China'], ['Emily', 21, 'female', 'Australia'], ['Bob', 22, 'male', 'France'], ['David', 24, 'male', 'UK'], ['Tina', 25, 'female', 'USA']]
可以看到,人员的顺序被按照年龄从小到大排序了。
还可以根据其他字段进行排序,例如性别、国籍等等。只需简单地修改lambda表达式中的参数即可。
5. 总结
Sorting函数是Python中非常有用的一类函数,可以轻松地对列表、元组、字典等数据结构进行升序或降序排列。Sorting函数有多种实现方式,包括sort()函数和sorted()函数,这两个函数的差别在于后者会生成一个新的已排序列表,而前者会直接修改原列表。此外,Sorting函数还可以用来对表格数据进行排序,只需指定好排序的关键字即可。最后,希望本篇文章对您有所帮助,谢谢阅读!
