优草派  >   Python

Python 列表排序方法reverse、sort、sorted详解

李嘉琪            来源:优草派

本文将介绍Python中列表排序方法reverse、sort和sorted的使用。首先,reverse是针对列表本身进行排序,即反转列表元素的顺序;sort是列表的一个方法,可对列表按照升序或降序进行排序;而sorted函数则可对列表进行排序并返回一个新列表。此外,本文还介绍了如何使用关键字参数进行排序和如何对列表中的对象进行排序。

Python 列表排序方法reverse、sort、sorted详解

reverse方法:

reverse方法是列表自带的函数,它可以反转列表中的元素。例如:

`a = [3,2,1]

a.reverse()

print(a)`

输出结果为:

`[1, 2, 3]`

sort方法:

sort方法是列表的一个方法,它可以按照升序或者降序进行排序。例如:

`b = [3,2,1]

b.sort()

print(b)`

输出结果为:

`[1, 2, 3]`

sorted函数:

sorted函数可对列表进行排序并返回一个新列表,不会对原列表进行改动。例如:

`c = [3,2,1]

d = sorted(c)

print(c)

print(d)`

输出结果为:

`[3, 2, 1]

[1, 2, 3]`

使用关键字参数进行排序:

除了默认的升序排序和降序排序,sort和sorted还支持通过传递关键字参数来进行排序。

例如:

```

e = [{'name': 'Jack', 'age': 20}, {'name': 'Peter', 'age': 25}, {'name': 'Tom', 'age': 18}]

e.sort(key=lambda x:x['age'])

print(e)

```

输出结果为:

`[{'name': 'Tom', 'age': 18}, {'name': 'Jack', 'age': 20}, {'name': 'Peter', 'age': 25}]`

对对象进行排序:

对于一个自定义的对象列表,我们可以通过自定义比较函数的方式来进行排序。

例如:

```

class Student:

def __init__(self, name, age):

self.name = name

self.age = age

def __repr__(self):

return repr((self.name, self.age))

students = [Student('Tom', 20), Student('Jack', 15), Student('Peter', 25)]

def by_age(student):

return student.age

print(sorted(students, key=by_age))

```

输出结果为:

`[('Jack', 15), ('Tom', 20), ('Peter', 25)]`

摘要:Python的列表排序涉及三个方法:reverse、sort和sorted。在使用过程中,需要根据具体需求选择使用哪种方法,如需对原列表进行改动则选择reverse和sort方法,否则则使用sorted函数。除了默认的升序排序和降序排序,还可以使用关键字参数和自定义比较函数进行排序。

关键词:Python列表排序、reverse、sort、sorted、关键字参数、自定义比较函数

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行