Python中List的排序
Python对List的排序主要有两种⽅法:⼀种是⽤sorted()函数,这种函数要求⽤⼀个变量接收排序的结果,才能实现排序;另⼀种是⽤List⾃带的sort()函数,这种⽅法不需要⽤⼀个变量接收排序的结果.这两种⽅法的参数都差不多,都有key和reverse两个参数,sorted()多了⼀个排序对象的参数.
1. List的元素是变量
这种排序⽐较简单,直接⽤sorted()或者sort()就⾏了.
list_sample = [1, 5, 6, 3, 7]
# list_sample = sorted(list_sample)
list_sample.sort(reverse=True)
print(list_sample)
python中lambda怎么使用运⾏结果:
[7, 6, 5, 3, 1]
2. List的元素是Tuple
这是需要⽤key和lambda指明是根据Tuple的哪⼀个元素排序.
list_sample = [('a', 3, 1), ('c', 4, 5), ('e', 5, 6), ('d', 2, 3), ('b', 8, 7)]
# list_sample = sorted(list_sample, key=lambda x: x[2], reverse=True)
list_sample.sort(key=lambda x: x[2], reverse=True)
print(list_sample)
运⾏结果:
[('b', 8, 7),
('e', 5, 6),
('c', 4, 5),
('d', 2, 3),
('a', 3, 1)]
3. List的元素是Dictionary
这是需要⽤get()函数指明是根据Dictionary的哪⼀个元素排序.
list_sample = []
list_sample.append({'No': 1, 'Name': 'Tom', 'Age': 21, 'Height': 1.75})
list_sample.append({'No': 3, 'Name': 'Mike', 'Age': 18, 'Height': 1.78})
list_sample.append({'No': 5, 'Name': 'Jack', 'Age': 19, 'Height': 1.71})
list_sample.append({'No': 4, 'Name': 'Kate', 'Age': 23, 'Height': 1.65})
list_sample.append({'No': 2, 'Name': 'Alice', 'Age': 20, 'Height': 1.62})
list_sample = sorted(list_sample, key=lambda k: (k.get('Name')), reverse=True)
# list_sample.sort(key=lambda k: (k.get('Name')), reverse=True)
print(list_sample)
运⾏结果:
[{'No': 1, 'Name': 'Tom', 'Age': 21, 'Height': 1.75},
{'No': 3, 'Name': 'Mike', 'Age': 18, 'Height': 1.78},
{'No': 4, 'Name': 'Kate', 'Age': 23, 'Height': 1.65},
{'No': 5, 'Name': 'Jack', 'Age': 19, 'Height': 1.71},
{'No': 2, 'Name': 'Alice', 'Age': 20, 'Height': 1.62}]
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论