📅  最后修改于: 2023-12-03 15:18:53.520000             🧑  作者: Mango
在Python3中,我们可以使用内置的排序函数对列表进行排序。Python3的排序函数非常强大,支持对不同数据类型的排序。排序函数可以使用不同的排序算法,如冒泡排序,选择排序,插入排序等。
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。
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参数指定排序关键字。我们可以根据实际需要选择不同的排序方式来排序列表。