10-9 重要的内置函数(zip、filter、map、sorted)
reverse----reversed
l = [1,2,3,4,5,6]
l.reverse() #不会保留原列表
print(l) l =[1,2,3,4,5,6]
l2 = reversed(l) #保留原列表,返回一个反向的迭代器
print(l2) #结果:<list_reverseiterator object at 0x00497350>
format:< ---表示左对齐,>表示右对齐,^表示居中
print(format('nice','<20'))
print(format('nice','>20'))
print(format('nice','^20'))
结果:
nice
nice
nice
重要内置函数
all
接收可迭代对象,全部元素都为真结果才为True,有一个元素为假,结果都为False
print(all(['a','',123]))#False
print(all(['a',123]))#True
print(all(['a',0,123]))#False
any
接收可迭代对象,全部元素都为假结果才为False,有一个元素为真,结果都为True
print(any(['a','',123]))#False
print(any(['a',123]))#True
print(any(['a',0,123]))#False
zip()
拉链方法:返回一个迭代器
l1 = [1,2,3]
l2 = ['a','b','c','d']
l3 = ('*','**','***')
d = {'k1':1,'k2':2}
for i in zip(l1,l2,l3,d):
print(i)
结果:
(1, 'a', '*', 'k1')
(2, 'b', '**', 'k2')
filter()
filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。
http://www.cnblogs.com/Eva-J/articles/7266192.html
def is_odd(x):
return x % 2 == 1
list = filter(is_odd,[1,3,4,5,6,7,8,9,12])
list_odd =[]
print(list) #返回一个迭代器
for i in list:
list_odd.append(i)
print(list_odd) #结果[1, 3, 5, 7, 9] 例子:请利用filter()过滤出1~100中平方根是整数的数
from math import sqrt
def zheng(x):
if sqrt(x) % 1==0:
return x
list = filter(zheng,range(1,101))
list_odd =[]
for i in list:
list_odd.append(i)
print(list_odd) #结果:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
map()
接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。
result = map(abs,[1,-4,3])
print(result)
for i in result:
print(i)
总结:
filter
1.执行了filter之后的结果,集合中的数<=执行之前的数
2.filter只管筛选,不会改变原来的值
map
执行前后元素个数不变
值可能发生变化
sorted
http://www.cnblogs.com/Eva-J/articles/7265992.html
参数说明:
iterable:是可迭代类型;
key:传入一个函数名,函数的参数是可迭代类型中的每一项,根据函数的返回值大小排序;
reverse:排序规则. reverse = True 降序 或者 reverse = False 升序,默认升序。
返回值:有序列表
l1 = [1,3,5,-2,-4,-6]
l1.sort() #在原列表的基础上进行排序
print(l1) #[-6, -4, -2, 1, 3, 5] l1.sort(key=abs) #在原列表的基础上进行排序
print(l1) #[1, -2, 3, -4, 5, -6]
#sorted()执行后,原列表依然存在
print(sorted(l1)) #[-6, -4, -2, 1, 3, 5]
print(sorted(l1,reverse=True)) #[5, 3, 1, -2, -4, -6]
#例子:按照长度排序
l = [' ',[1,2],'hello world','hfj']
new_l = sorted(l,key=len)
print(new_l) #[' ', [1, 2], 'hfj', 'hello world']
10-9 重要的内置函数(zip、filter、map、sorted)的更多相关文章
- Python内置函数之filter map reduce
Python内置函数之filter map reduce 2013-06-04 Posted by yeho Python内置了一些非常有趣.有用的函数,如:filter.map.reduce,都是对 ...
- python之有用的3个内置函数(filter/map/reduce)
这三个内置函数还是非常有用的,在工作中用的还不少,顺手,下面一一进行介绍 1.filter 语法:filter(function,iterable) 解释:把迭代器通过function函数进行过滤出想 ...
- Python学习(五)函数 —— 内置函数 lambda filter map reduce
Python 内置函数 lambda.filter.map.reduce Python 内置了一些比较特殊且实用的函数,使用这些能使你的代码简洁而易读. 下面对 Python 的 lambda.fil ...
- python学习笔记(十六)内置函数zip、map、filter的使用
1.zip,就是把两个或者多个list,合并到一起,如果想同时循环2个list的时候,就使用zip.示例如下: l1 = ['a','b','c','e','f','g'] l2 = [,,] l3= ...
- python 内置函数zip,map,三元,lambda表达式
#内置函数zip(),将多个可迭代对象(集合等)按照顺序进行组合成tuple元祖,放在zip 对象进行存储,: #当参数为空时候,返回空 #如果 zip() 函数压缩的两个列表长度不相等,那么 zip ...
- python3 之 内置函数Zip
python3 内置函数zip 一.简介: 该函数用于将多个可迭代对象作为参数,依次将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象.二.实例1: name = ['张三','李四', ...
- 其它内置函数(zip等)
python内置函数 截止到python版本3.6.2,python一共为我们提供了68个内置函数.它们就是python提供给你直接可以拿来使用的所有函数 Built-in Functio ...
- Python 内置函数 -- zip(), sorted(), filter()和map()
内置函数1. zip() 打包(木桶效应)描述: zip() 函数用于将可迭代的对象作为参数, 将对象中对应的元素打包成一个个元组, 然后返回由这些元组组成的列表语法: zip([iterable, ...
- 10、SQL Server 内置函数、临时对象、流程控制
SQL Server 内置函数 日期时间函数 --返回当前系统日期时间 select getdate() as [datetime],sysdatetime() as [datetime2] getd ...
- 内置函数zip,map,even
内置函数的补充:1.zip:l1 = ['a','b','c','e','f','g']l2 = [1,2,3]l3=['A','B','C']L4=['牛','牛','niu']#zip,就是把俩l ...
随机推荐
- Redis 6.0 redis-cluster-proxy 说明
背景 Redis3.0版本之后开始支持了Redis Cluster,Redis也开始有了分布式缓存的概念.关于Redis Cluster的相关说明,可以看之前的几篇文章:Redis Cluster 原 ...
- 数据可视化基础专题(十):Matplotlib 基础(二) 自定义配置文件和绘图风格(rcParams和style)
https://matplotlib.org/api/rcsetup_api.html#module-matplotlib.rcsetup 一.什么是rcParams?我们在使用matplotlibl ...
- Drf06 /drf总结
Drf06 /drf总结 目录 Drf06 /drf总结 1. restful规范 2. drf组件认证的实现过程? 3. drf组件中权限的实现过程? 4. drf组件中节流的实现方式? 5. 什么 ...
- redis(十):Redis 列表(List)
Redis 列表(List) Redis列表是简单的字符串列表,按照插入顺序排序.你可以添加一个元素到列表的头部(左边)或者尾部(右边) 一个列表最多可以包含 232 - 1 个元素 (4294967 ...
- Mariadb之主从复制的读写分离
首先我们来回顾下代理的概念,所谓代理就是指的是一端面向客户端,另外一端面向服务端,代理客户端访问服务端,我们把这种代理叫正向代理:代理服务端响应客户端我们叫做反向代理,这个我们在之前nginx系列博客 ...
- vue中使用elmentUI的Upload组件提交文件和后台接收
1.参考此博客,希望有以下知识储备 vue的路由,跨域请求,springboot2.X,html,已经阅读elementUI官网中关于upload组件的详细介绍. 2.废话不多说,直接讲解细节. 前台 ...
- JavaScript定时器及回调用法
JavaScript定时器及回调用法 循环定时任务 // 假设现在有这样一个需求:我需要请求一个接口,根据返回结果判断需不需要重复请求,直到达到某一条件为止,停止请求执行某操作 <script ...
- J.U.C体系进阶(四):juc-sync 同步器框架
Java - J.U.C体系进阶 作者:Kerwin 邮箱:806857264@qq.com 说到做到,就是我的忍道! juc-sync 同步器框架 同步器名称 作用 CountDownLatch 倒 ...
- 三个Python自动化测试高效工具的使用总结
##Python语言的特点 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号 ...
- 学习mysql,你必须要了解的 “ 索引 ” 基本知识
1.select * 对效率的影响在我们平时的代码编写或面试题中,很多人都会疑惑:select * 到底合理吗? 如果说不合理,为什么?如果说合理,原因又是什么? 1).阿里规范 在阿里java规范中 ...