Python列表 sort()

时间:2020-02-23 14:42:56  来源:igfitidea点击:

在本教程中,我们将看到Python列表的排序方法。

Python列表排序方法用于按升序或者降序对列表进行排序。

Python列表排序语法

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

这里列表1是列表的对象。
我们可以看到键和反向是可选参数。

Python列表排序示例

我们可以简单地调用删除方法来删除列表中的元素。
让我们在简单的例子的帮助下了解这一点。

listOfNames=['Sam','Mary','Martin','John']
print("listOfNames before sorting:",listOfNames)
listOfNames.sort()
print("listOfNames after sorting in ascending order:",listOfNames)
listOfNames.sort(reverse=True)
print("listOfNames after sorting in descending order:",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 before sorting:",listOfNames)
listOfNames.sort(key=len)
print("listOfNames after sorting on the basis of len:",listOfNames)

输出:

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

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

如果列表中有不同的数据类型,并且它们不可比较,则排序方法将提高TypeError。

listOfNames=[1,'two',3,'four']
print("listOfNames before sorting:",listOfNames)
listOfNames.sort()
print("listOfNames after sorting:",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'