sort()函数的语法格式为:
list.sort( key=None, reverse=False)
其中:
key 参数(可选)指定可迭代对象中的某个元素进行排序。
reverse 参数(可选)表示排序规则,包含升序(False)和降序(True),默认是False升序排序。
该方法没有返回值。
示例如下:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
if __name__ == '__main__':
t1 = [[2, 9, 3], [5, 3, 6], [1, 6, 3], [7, 8, 4]]
t1.sort(key=lambda x: x[1], reverse=False)
print(t1)
其中x[1]表示指定第2列(从0开始)元素进行排序。
输出结果如下:
[[5, 3, 6], [1, 6, 3], [7, 8, 4], [2, 9, 3]]
使用sorted()函数
sorted()函数的语法格式为:
list = sorted(iterable, key=None, reverse=False)
其中:
iterable 表示可迭代对象。
key 参数(可选)指定可迭代对象中的某个元素进行排序。
reverse 参数(可选)表示排序规则,包含升序(False)和降序(True),默认是False升序排序。
返回值为一个排好序的列表。
示例如下:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
if __name__ == '__main__':
t1 = [[2, 9, 3], [5, 3, 6], [1, 6, 3], [7, 8, 4]]
t2 = sorted(t1, key=lambda x: x[1], reverse=False)
print("t1:", t1)
print("t2:", t2)
输出结果如下:
t1: [[2, 9, 3], [5, 3, 6], [1, 6, 3], [7, 8, 4]]
t2: [[5, 3, 6], [1, 6, 3], [7, 8, 4], [2, 9, 3]]
如果将reverse参数改成True,则为降序排序
t2 = sorted(t1, key=lambda x: x[1], reverse=True)
输出结果变成:
t2: [[2, 9, 3], [7, 8, 4], [1, 6, 3], [5, 3, 6]]
sort()和sorted()函数的区别
sort()和sorted()两种方法非常相似,都用来进行排序 *** 作,但应用时也有所不同。
主要有以下两个不同之处:
sort()函数应用于list列表上,sorted()函数对所有的可迭代对象进行排序。
sort()函数在原list列表上进行排序,没有返回值,sorted()函数则返回一个新的排好序的list。
列表中元素为字典形式的排序方法
有时候我们会遇到列表中元素为字典dict形式的情况。
其实排序方法也是差不多的,只需要修改key的指定元素即可,如下所示:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
if __name__ == '__main__':
t1 = [{"name": "li", "age": 21}, {"name": "wang", "age": 16}, {"name": "zhu", "age": 29},
{"name": "wu", "age": 24}]
t2 = sorted(t1, key=lambda x: x["age"], reverse=False)
print(t2)
其中,x["age"]表示指定age字段对列表进行排序。
输出结果如下:
[{'name': 'wang', 'age': 16}, {'name': 'li', 'age': 21}, {'name': 'wu', 'age': 24}, {'name': 'zhu', 'age': 29}]
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)