📜  python 3中的排序函数 - Python(1)

📅  最后修改于: 2023-12-03 15:18:53.520000             🧑  作者: Mango

Python3中的排序函数

在Python3中,我们可以使用内置的排序函数对列表进行排序。Python3的排序函数非常强大,支持对不同数据类型的排序。排序函数可以使用不同的排序算法,如冒泡排序,选择排序,插入排序等。

使用sorted()函数进行排序

Python3提供了一个名为sorted()的内置函数,用于对列表进行排序。sorted()函数会按升序对列表进行排序,并返回一个新的排序后的列表。以下是sorted()函数的用法:

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

其中,iterable是需要排序的列表、元组、字符串等可迭代对象,key是一个可调用函数,用于为每个元素提供一个排序关键字,reverse是一个布尔值,如果设置为True,则会按降序进行排序。

下面是一个使用sorted()函数进行排序的示例:

>>> a = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
>>> sorted_a = sorted(a)
>>> print(sorted_a)
[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

在上面的示例中,我们首先定义了一个列表a,然后使用sorted()函数对其进行排序,并将排序结果存储在sorted_a变量中,最后打印sorted_a。

使用sort()方法进行列表排序

Python3也提供了一个名为sort()的列表方法,用于对列表进行排序。sort()方法会直接对原始列表进行排序,而不是返回新的排序后的列表。

sort()方法的用法如下所示:

list.sort(key=None, reverse=False)

其中,key和reverse的含义与sorted()函数中的含义相同。以下是使用sort()方法进行排序的示例:

>>> a = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
>>> a.sort()
>>> print(a)
[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

在上面的示例中,我们首先定义了一个列表a,然后使用sort()方法对其进行排序,并输出排序结果。

对多维列表进行排序

在处理多维列表时,我们可能需要按照其中某一列进行排序。在Python3中,可以使用sorted()函数的key参数来指定排序关键字。

以下是对多维列表按照其中某一列进行排序的示例:

>>> data = [(2, '张三', 30), (3, '李四', 25), (1, '王五', 35)]
>>> sorted_data = sorted(data, key=lambda x: x[2])
>>> print(sorted_data)
[(3, '李四', 25), (2, '张三', 30), (1, '王五',35)]

在上面的示例中,我们首先定义了一个多维列表data,其中每一项包含3个数据:编号,姓名和年龄。然后,我们使用sorted()函数对data进行排序,指定排序关键字为data中的第3个元素(即年龄)。最后打印排序后的结果。

总结:

Python3的排序函数非常强大,支持不同的排序算法。使用sorted()函数和sort()方法可以轻松对列表进行排序。在处理多维列表时,可以使用sorted()函数的key参数指定排序关键字。我们可以根据实际需要选择不同的排序方式来排序列表。