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

Python中的Sorting函数:排序表格数据轻而易举

发布时间:2023-06-22 09:23:36

在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函数还可以用来对表格数据进行排序,只需指定好排序的关键字即可。最后,希望本篇文章对您有所帮助,谢谢阅读!