Python sorted排序方法如何实现
在给列表排序时,sorted非常好用,语法如下:
sorted(iterable[, cmp[,key[,reverse]]])
sorted定义如下:
- sorted( iterable[, cmp[, key[, reverse]]])
- iterable:是可迭代类型类型;
- cmp:用于比较的函数,比较什么由key决定,有默认值,迭代集合中的一项;
- key:用列表元素的某个属性和函数进行作为关键字,有默认值,迭代集合中的一项;
- reverse:排序规则. reverse = True 或者 reverse = False,有默认值。
- 返回值:是一个经过排序的可迭代类型,与iterable一样。简单列表排序,很容易完成,sorted(list)返回的对象就是列表结果,但是遇到列表中嵌套元组时,需要使用特殊的方法解决。
问题描述:
给定列表如下:
list_example = [('John', 35), ('Jack', 32), ('Michael', 28), ('Sean', 20)]
输出要求:
[('Sean', 20), ('Michael', 28), ('Jack', 32), ('John', 35)]
解决方法:
1. 传入函数给key,完成操作;
2. 直接使用lambda函数;
方法1的代码如下:
def revsort(oldlist): return oldlist[::-1] def by_age(li): return sorted(li, key = revsort)
方法2的代码如下:
def by_age(li): return sorted(li, key = lambda x: x[1])
直接print可以得到结果:
print(by_age(list_example))
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
windows系统中Python多版本与jupyter notebook使用虚拟环境的过程
这篇文章主要介绍了windows中Python多版本与jupyter notebook中使用虚拟环境的安装过程,本文分步骤给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下2019-05-05
Python编程pytorch深度卷积神经网络AlexNet详解
AlexNet和LeNet的架构非常相似。这里我们提供了一个稍微精简版本的AlexNet,去除了当年需要两个小型GPU同时运算的设计特点2021-10-10


最新评论