Python List sort()


Python List sort()

在本教程中,我们将了解Python List的 sort 方法。Python List sort 方法用于按升序或降序对列表进行排序。

Python 列表排序语法

list1.sort([key=..,reverse=..])

这里 list1 是 list 的对象。如您所见,key 和 reverse 是可选参数。

Python 列表排序示例

您可以简单地调用 remove 方法从列表中删除一个元素。 让我们借助简单的例子来理解这一点。

listOfNames=['Sam','Mary','Martin','John'] print("listOfNames 排序前:",listOfNames) listOfNames.sort() print("listOfNames 升序排序后:",listOfNames) listOfNames .sort(reverse=True) print("listOfNames 降序排序后:",listOfNames)

输出:

listOfNames before sorting: [‘Sam’, ‘Mary’, ‘Martin’, ‘John’] listOfNames after sorting in ascending order: [‘John’, ‘Martin’, ‘Mary’, ‘Sam’] listOfNames after sorting in descending order: [‘Sam’, ‘Mary’, ‘Martin’, ‘John’]

正如您在此处看到的,我们按升序和降序进行了排序。 您还可以根据关键功能对列表进行排序。让我们借助示例来理解。

listOfNames=['Sam','Mary','Martin','John'] print("listOfNames 排序前:",listOfNames) listOfNames.sort(key=len) print("listOfNames 根据 len 排序后: ",listOfNames)

输出:

listOfNames before sorting: [‘Sam’, ‘Mary’, ‘Martin’, ‘John’] listOfNames after sorting on the basis of len: [‘Sam’, ‘Mary’, ‘John’, ‘Martin’]

如果列表具有混合数据类型怎么办

如果列表中有不同的数据类型并且它们不可比较,则 sort 方法将引发 TypeError。

listOfNames=[1,'two',3,'four'] print("listOfNames 排序前:",listOfNames) listOfNames.sort() print("listOfNames 排序后:",listOfNames)

输出:

listOfNames before sorting: [1, ‘two’, 3, ‘four’] —————————————————————————
TypeError Traceback (most recent call last)
in ()
1 listOfNames=[1,’two’,3,’four’] 2 print(“listOfNames before sorting:”,listOfNames)
—-> 3 listOfNames.sort()
4 print(“listOfNames after sorting:”,listOfNames)
5
TypeError: ‘<' not supported between instances of 'str' and 'int'

类型错误:“str”和“int”的实例之间不支持“<”

这就是 Python List 排序方法的全部内容。