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 ...
随机推荐
- css3常见好看的投影效果_css3阴影box-shadow高大上用法
在设计图会经常使用到的阴影效果,如何用css3来实现呢?这篇文章主要整理box-shadow的一些好看常用的投影效果. 1.曲面/椭圆投影效果: 代码如下: <style> .shadow ...
- 一天学习一点之如何安装nodejs
如果没有安装git,先使用命令apt-get install git,然后按以下步骤安装即可 Install the dependencies:sudo apt-get install g++ cur ...
- python学习笔记之数据类型(二)
上一篇博客,小波介绍了python的入门和简单流程控制,这次写python的数据类型和各种数据类型的内置方法. 一.数据类型是何方神圣? 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当 ...
- day22 作业
1 统计文件夹大小 def get_filesize(file_path): count = 0 res=None files_sum = os.listdir(file_path) for file ...
- Canonical通过Flutter启用Linux桌面应用程序支持
子标题:Ubuntu团队为所有Linux发行版上的Flutter应用程序制作了一个新的基于GTK +的主机. 此文翻译自:https://medium.com/flutter/announcing-f ...
- Scala 面向对象(七):静态属性和静态方法
1 Scala中静态的概念-伴生对象 Scala语言是完全面向对象(万物皆对象)的语言,所以并没有静态的操作(即在Scala中没有静态的概念). 但是为了能够和Java语言交互(因为Java中有静态概 ...
- redis(十六):Redis 安装,部署(LINUX环境下)
第一步:下载安装包 访问https://redis.io/download 到官网进行下载.这里下载最新的4.0版本. 第二步:安装 1.通过远程管理工具,将压缩包拷贝到Linux服务器中,执行解压 ...
- python 生成器(三):生成器基础(三)生成器表达式
生成器表达式可以理解为列表推导的惰性版本:不会迫切地构建列表,而是返回一个生成器,按需惰性生成元素.也就是说,如果列表推导是制造列表的工厂,那么生成器表达式就是制造生成器的工厂. 示例 14-8 先在 ...
- Python网络编程02 /基于TCP、UDP协议的socket简单的通信、字符串转bytes类型
Python网络编程02 /基于TCP.UDP协议的socket简单的通信.字符串转bytes类型 目录 Python网络编程02 /基于TCP.UDP协议的socket简单的通信.字符串转bytes ...
- Spring Bean的生命周期 ---附详细流程图及测试代码
一.生命周期流程图: Spring Bean的完整生命周期从创建Spring容器开始,直到最终Spring容器销毁Bean,这其中包含了一系列关键点 假设一个Bean实现了所有的接口,大的概况一下Be ...