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'