Python 对列表进行排序

Python 对列表进行排序

列表类的 sort() 方法使用词典排序机制按升序或降序重新排列项目。排序是就地进行的,意味着重新排列发生在同一列表对象中,它不会返回新对象。

语法

list1.sort(key, reverse)

参数

  • Key − 应用于列表中的每个项目的函数。返回值用于执行排序。可选参数

  • reverse − 布尔值。如果设置为True,则按降序进行排序。可选参数

返回值

此方法返回None。

示例1

现在让我们看一些示例,了解如何在Python中对列表进行排序-

list1 = ['physics', 'Biology', 'chemistry', 'maths']
print ("list before sort", list1)
list1.sort()
print ("list after sort : ", list1)

print ("Descending sort")

list2 = [10,16, 9, 24, 5]
print ("list before sort", list2)
list2.sort()
print ("list after sort : ", list2)

它将产生以下输出

list before sort ['physics', 'Biology', 'chemistry', 'maths']
list after sort: ['Biology', 'chemistry', 'maths', 'physics']
Descending sort
list before sort [10, 16, 9, 24, 5]
list after sort : [5, 9, 10, 16, 24]

示例2

在这个例子中,使用str.lower()方法作为sort()方法的关键参数。

list1 = ['Physics', 'biology', 'Biomechanics', 'psychology']
print ("list before sort", list1)
list1.sort(key=str.lower)
print ("list after sort : ", list1)

它将产生以下 输出

list before sort ['Physics', 'biology', 'Biomechanics', 'psychology']
list after sort : ['biology', 'Biomechanics', 'Physics', 'psychology']

示例 3

让我们在sort()方法中使用一个用户定义的函数作为键参数。myfunction()函数使用%运算符根据余数返回结果,根据这个结果进行排序。

def myfunction(x):
   return x%10
list1 = [17, 23, 46, 51, 90]
print ("list before sort", list1)
list1.sort(key=myfunction)
print ("list after sort : ", list1)

它将产生以下 输出

list before sort [17, 23, 46, 51, 90]
list after sort: [90, 51, 23, 46, 17]

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程