Python进阶【第六篇】内置函数中好玩的几个(今天写的太水)
zip()函数
两个参数一一对应,参数是序列类型,序列包括列表,元组,字符串,当两个序列不等长时,按公共最长部分匹配,形似“拉链”。
max()和min()函数
以max()为例,min()类似,只是大小相反:
max()进行比较时所传入的数据类型一定要是可迭代对象,循环依次取出每个元素进行比较。
比较时从第一个元素开始,依次比较,对于字典的比较,其比较的的是key值的大小,若想按values比较,就需要用到zip()函数
zip(dic.values(),dic.keys())
例如,当传入一个字典people,key值为name,value为age,按value比较:
max(people,key=lambda dic:dic['age'])
这一句代码就等价于
ret[]
for item in people:
ret.append(item['age'])
print(ret)
即:取出来字典中每组的age值,再用max()比较。
总结max()比较:
1.max()处理的是可迭代对象,相当于一个for循环取出每个元素进行比较,注意,不同类型之间不能比较
2.每个元素进行比较,是从每个元素的第一个位置进行比较,如果这一位置分出大小,后面的都不需要比较了,直接得出俩元素的大小。
3.max()和min()相反,方法相同。
sorted()排序
排序也是在程序中经常用到的算法。无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小。
Python内置的sorted()函数就可以对list进行排序:
>>> sorted([36, 5, -12, 9, -21])
[-21, -12, 5, 9, 36]
此外,sorted()函数也是一个高阶函数,它还可以接收一个key函数来实现自定义的排序,例如按绝对值大小排序
>>> sorted([36, 5, -12, 9, -21], key=abs)
[5, 9, -12, -21, 36]
sorted()也是一个高阶函数。用sorted()排序的关键在于实现一个映射函数
Python进阶【第六篇】内置函数中好玩的几个(今天写的太水)的更多相关文章
- [Python笔记]第四篇:内置函数
本篇主要内容:内置函数 函数 参考:https://docs.python.org/3.5/library/functions.html 内置函数列表 一.数学运算类 abs(x)求绝对值 >& ...
- python学习笔记六:内置函数
一.数学相关 1.绝对值:abs(-1) 2.最大最小值:max([1,2,3]).min([1,2,3]) 3.序列长度:len('abc').len([1,2,3]).len((1,2,3)) 4 ...
- Python基础(六)-内置函数
map().filter().reduce() map(func,iterator) --> filter(func,iterator) --> reduce(func,iterato ...
- 查看python内部模块命令,内置函数,查看python已经安装的模块命令
查看python内部模块命令,内置函数,查看python已经安装的模块命令 可以用dir(modules) 或者用 pip list或者用 help('modules') 或者用 python -m ...
- Python学习(八) —— 内置函数和匿名函数
一.递归函数 定义:在一个函数里调用这个函数本身 递归的最大深度:997 def func(n): print(n) n += 1 func(n) func(1) 测试递归最大深度 import sy ...
- SSE 系列内置函数中的 shuffle 函数
SSE 系列内置函数中的 shuffle 函数 邮箱: quarrying@qq.com 博客: http://www.cnblogs.com/quarryman/ 发布时间: 2017年04月18日 ...
- SSE系列内置函数中的shuffle函数
SSE 系列内置函数中的 shuffle 函数 邮箱: quarrying@qq.com 博客: http://www.cnblogs.com/quarryman/ 发布时间: 2017年04月18日 ...
- python之路:进阶篇 内置函数
li = [11, 22, 33] news = map( li = [100, 2200, 3300] news = map( [13, 24, 35] [11, 11, 11] [22, 4 ...
- python大法好——递归、内置函数、函数进阶
1.递归(自己干自己) def fun(n): n=n/2 print(n) if(n>2) fun(n) #函数调用 fun(10) 结果是5 2 1 0 递归的执行过程:递归执行到最里面一层 ...
随机推荐
- vux icon
官网:https://doc.vux.li/zh-CN/components/icon.html <icon type="success"></icon>& ...
- 进程池线程池 协程 gvent 单线程实现并发套接字
1.基于多线程实现套接字服务端支持并发 服务端 from socket import * from threading import Thread def comunicate(conn): whil ...
- solr整合spring
<!-- 单机版solr服务配置 --> <!-- <bean id="httpSolrServer" class="org.apache.sol ...
- ASP.Net中的四种状态保持机制
每个人上网可多有过这样的情况,当我们登陆某个网站时,在登陆的旁边会有一个 "记住我" 的复选框,有的网站还会让用户选择记住我.这个记住我是怎么实现的呢? 其实就用利用的是cooki ...
- MyBatis SpringMVC映射配置注意
applicationContext.xml中要配置 <!-- MyBatis 的 sqlSessionFactory --> <bean id="sqlSessionFa ...
- nginx 长连接keeplive
发现后台日志打印太多 FD打开太多的日志. 处理思路: 修改nginx upstream的长连接 http://blog.csdn.net/gzh0222/article/details/852363 ...
- CentOS6.5安装RHBase
1.安装依赖包 yum install automake libtool flex bison pkgconfig gcc-c++ boost-devel libevent-devel lib-dev ...
- Selenium基础知识(一)环境与搜索
所需环境: 1.python2.7 + pycharm 2.Selenium 3.浏览器驱动(IEDriverServer.exe) 这里使用的是ie浏览器 将驱动放到一个环境变量路径,这里直接放在 ...
- GIS 网站 参考网站
GIS 网站 参考:https://malagis.com/arcgis-operate-videos-example-38-summary.html
- react native中使用native-echarts
第一步,下载依赖 npm install native-echarts --save 第二步,引入 import Echarts from 'native-echarts'; 第三步,使用 expor ...