#内置函数zip(),将多个可迭代对象(集合等)按照顺序进行组合成tuple元祖,放在zip 对象进行存储,;
#当参数为空时候,返回空
#如果 zip() 函数压缩的两个列表长度不相等,那么 zip() 函数将以长度更短的列表为准;
list_t1= [1,2,3]
list_t2 =['apple','orange','banana']
list_t3 = [50,60,70,80]
list_t4 = (500,600,700,800) list_z1 = zip(list_t1,list_t2)
list_z2 = zip(list_t1,list_t2,list_t3)
list_z3 = zip(list_t1,list_t3)
list_z4 = zip(list_t1,list_t3)
list_z5 = zip(list_t1,list_t4) print(type(list_z1)) #<class 'zip'>
print(list(list_z1)) #[(1, 'apple'), (2, 'orange'), (3, 'banana')]
print(list(list_z2)) #[(1, 'apple', 50), (2, 'orange', 60), (3, 'banana', 70)]
print(list(list_z3)) #[(1, 50), (2, 60), (3, 70)]
print(list(list_z5)) #[(1, 500), (2, 600), (3, 700)] #将两个列表转换为字典
dict_from_list = dict(zip(list_t1,list_t2))
print(dict_from_list) #{1: 'apple', 2: 'orange', 3: 'banana'} #map() 根据提供的函数对指定序列做映射;
#参数为map(func,iter,....),返回值为iter;
#计算过程:对序列内的所有元素进行给定的方法计算,将所有计算结果在放到iter 中返回;
#写法上要注意,只要写上方法的名字,不需要带括号之类的;
def squ_minus1(number):
return number ** 2 - 1
tuple_test =(1,2,3,4)
print(type(map(str,tuple_test))) #<class 'map'>,理解为迭代器;
print(list(map(str,tuple_test))) #迭代器取值可以用转成list 或for 循环等;
for v in map(str,tuple_test):
print(v) print(list(map(float,tuple_test))) #[1.0, 2.0, 3.0, 4.0]
print(list(map(squ_minus1,tuple_test))) #[0, 3, 8, 15] ,调用自定义函数 #三元运算或三元表达式;
#简单理解:当某个为真返回一个值,如果为假返回另一个,类似于if else;
digtal1,digtal2 = 1,2
if digtal1 > 2:
print(digtal1)
else:
print(digtal2)
#========\\
print(digtal1 if digtal1 > digtal2 else digtal2) # 上面的if else 直接换成这种写法;
#三元表达式对列表的处理
l = [1,2,3,10,20,30]
# 这里是常规写法
l_temp=[]
for i in l:
if i >= 10:
l_temp.append(i ** 2)
print(l_temp)
#这里是三元表达式写法
print(list(v ** 2 for v in l if v >= 10)) #lambda 表达式;
#lambda表达式是一行的函数。它们在其他语言中也被称为匿名函数。即,函数没有具体的名称,而用def创建的方法是有名称的。
# 如果你不想在程序中对一个函数使用两次,你可以用lambda表达式;
#表达式用 :分开,左边是参数,右边是返回值,‘:’后只能有一个表达式,lambda函数不能共享给别的程序调用;
#if或for或print等语句不能用于lambda中,因为lambda 只是一个表达式;
def xsqy(x,y,z):
print(x ** y - z)
# 上面的函数可以用下面的表达式替换;
xsqy = lambda x,y,z :x ** y - z #xsqy可以理解为一个函数,后面直接用‘=’左边的当作函数名使用;
print(xsqy(2,3,1))
#推导式
keys = [1,2,3,4]
x = [k for k in keys]
y = [k ** k for k in keys]
z = [k**3 for k in range(10) if k < 5]
print(x)
print(y)
print(z)

 
 
 

python 内置函数zip,map,三元,lambda表达式的更多相关文章

  1. Python内置函数之匿名(lambda)函数

    Python内置函数之匿名(lambda)函数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.匿名函数 #!/usr/bin/env python #_*_coding:utf ...

  2. Python 内置函数 -- zip(), sorted(), filter()和map()

    内置函数1. zip() 打包(木桶效应)描述: zip() 函数用于将可迭代的对象作为参数, 将对象中对应的元素打包成一个个元组, 然后返回由这些元组组成的列表语法: zip([iterable, ...

  3. Python 内置函数&filter()&map()&reduce()&sorted()

    常用内置函数 Python 2.x 返回列表,Python 3.x 返回迭代器 在进行筛选或映射时,输出的结果是一个数组,需要list帮助. 如:print(list(map(lambda x:x+1 ...

  4. 内置函数zip,map,even

    内置函数的补充:1.zip:l1 = ['a','b','c','e','f','g']l2 = [1,2,3]l3=['A','B','C']L4=['牛','牛','niu']#zip,就是把俩l ...

  5. Python内置函数filter, map, reduce

    filter.map.reduce,都是对一个集合进行处理,filter很容易理解用于过滤,map用于映射,reduce用于归并. 是Python列表方法的三架马车. 1. filter函数的功能相当 ...

  6. python基础:内置函数zip,map,filter

    一.zip zip,就是把俩list,合并到一起,如果想同时循环2个list的时候,可以用zip,会帮你轮流循环两个list 比如: l1=[1,2,3,4,5] l2=['a','b','c','d ...

  7. python内置函数zip

    zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表. 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以 ...

  8. Python内置函数(34)——map

    英文文档: map(function, iterable, ...) Return an iterator that applies function to every item of iterabl ...

  9. Python内置函数(40)——map

    英文文档: map(function, iterable, ...) Return an iterator that applies function to every item of iterabl ...

随机推荐

  1. Ansible Playbooks 介绍 和 使用 一

    目录 Ansible Playbooks Playbooks 组成部分: YAML 介绍 YAML 语法 Ansible 基础元素 变量 facts registre 通过命令传递变量 通过roles ...

  2. mac 下面 vim 编辑器 开启语法高亮

    cp /usr/share/vim/vimrc ~/.vimrc 拷贝默认的配置文件 vim ~/.vimrc 编辑该文件 在文件的最后加入 syntax on 保存退出即可

  3. 【github repo自荐】码农周刊一周精选分类

    以下内容节选自我的github码农周刊整理repo,欢迎大家star. 写在最前面的话 作为最初的一批码农周刊的订阅者,不能说经历了其成长,但是确实见证了他的壮大.码农周刊确实从开始第一期的基本上都是 ...

  4. 2019-2020-1 20199304《Linux内核原理与分析》第六周作业

    第五章 系统调用的三层机制(下) 1.往MenuOS中添加命令 (1)首先进入LinuxKernel文件夹,将menu目录删除.然后再git clone克隆下载更新了版本之后的menu目录(包含tim ...

  5. 【SpringSecurityOAuth2】源码分析@EnableOAuth2Sso在Spring Security OAuth2 SSO单点登录场景下的作用

    目录 一.从Spring Security OAuth2官方文档了解@EnableOAuth2Sso作用 二.源码分析@EnableOAuth2Sso作用 @EnableOAuth2Client OA ...

  6. 这是一个测试 hello world

    第一次写博客,冒着生命危险尝试一下,发说说 搞了半天,发现原创文章在随笔发,我以为在文章目录发,白白在文章那里建了分类,太难了吧我

  7. 用生动的案例一步步带你学会python多线程模块

    鱼和熊掌不可兼得 鱼,我所欲也,熊掌,亦我所欲也,二者不可得兼,舍鱼而取熊掌者也. 从6月开始写公众号,连着四个月一直尽量保证一周五更,结果整天熬夜搞的身体素质骤降.十一休假决定暂时将公众号放放,好好 ...

  8. Reactive(3)5分钟理解 SpringBoot 响应式的核心-Reactor

    目录 一.前言 二. Mono 与 Flux 构造器 三. 流计算 1. 缓冲 2. 过滤/提取 3. 转换 4. 合并 5. 合流 6. 累积 四.异常处理 五.线程调度 小结 参考阅读 一.前言 ...

  9. CentOS下永久修改主机名

    永久修改主机名 [root@centos7 ~]# vim /etc/hostname 打开之后将原来的名字改成你想换的名字 [root@centos7 ~]# cat /etc/hostname 查 ...

  10. python数据挖掘第一篇:正则表达式

    正则表达式 re 模块 re.match(pattern,string[,flag]) match方法 从首字母开始匹配,如果包含pattern字符串,则匹配成功,返回match对象,失败则返回Non ...