Python3-lamba表达式、zip函数
lambda表达式

学习条件运算时,对于简单的 if else 语句,可以使用三元运算来表示,即:
# 普通条件语句
if == :
name = 'name1'
else:
name = 'name2' # 三元运算
name = 'name1' if == else 'name2'
对于简单的函数,也存在一种简便的表示方式,即:lambda表达式
# 定义函数(普通方式)
def func(arg):
return arg + # 执行函数
result = func() # ###################### lambda ###################### # 定义函数(lambda表达式)
my_lambda = lambda arg : arg + # 执行函数
result = my_lambda()
lambda存在意义就是对简单函数的简洁表示
# cal2 = lambda n : n*n
# ret = cal2()
# print(ret) # def add(x, y): return x+y
# add2 = lambda x,y : x+y
# ret = add(, )
# print(ret)
上面是匿名函数的函数用法。除此之外,匿名函数也不是浪得虚名,它真的可以匿名。在和其他功能函数合作的时候
l=[,,,,,,,]
print(max(l)) Output: dic={'k1':,'k2':,'k3':}
print(max(dic))
print(dic[max(dic,key=lambda k:dic[k])]) Output:
k3
res = map(lambda x:x**,[,,,,])
for i in res:
print(i) 输出
res = filter(lambda x:x>,[,,,,])
for i in res:
print(i) 输出
面试题练一练
现有两个元组(('a'),('b')),(('c'),('d')),请使用python中匿名函数生成列表[{'a':'c'},{'b':'d'}]
t1 = (('a'),('b'))
t2 = (('c'),('d'))
res = lambda t1,t2 : [{i,j}for i, j in zip(t1, t2)]
print(res(t1, t2))
知识补给:python3 zip函数
zip()函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象(可以用list转换)。
如果各个迭代器的元素不一致则返回列表长度与最短对象相同,利用*号操作符,可以将元组解压为列表。
语法:zip([iterable,...]) --- 一个或多个迭代器, 返回元组列表
>>>a = [,,]
>>> b = [,,]
>>> c = [,,,,]
>>> zipped = zip(a,b) # 返回一个对象
>>> zipped
<zip object at 0x103abc288>
>>> list(zipped) # list() 转换为列表
[(, ), (, ), (, )]
>>> list(zip(a,c)) # 元素个数与最短的列表一致
[(, ), (, ), (, )] >>> a1, a2 = zip(*zip(a,b)) # 与 zip 相反,zip(*) 可理解为解压,返回二维矩阵式
>>> list(a1)
[, , ]
>>> list(a2)
[, , ]
Python3-lamba表达式、zip函数的更多相关文章
- python3中的 zip()函数 和python2中的 zip()函数 的区别
python3中的 zip()函数 和python2中的 zip()函数 的区别: 描述: zip() 函数用于将可迭代对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象. ...
- Python3.x:zip()函数
Python3.x:zip()函数 1,概述: zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表: 2,示例: (1).示例1: x = [1, 2, 3] y = [4, ...
- python3中的zip函数(转)
原文地址:https://www.cnblogs.com/qqhfeng/p/5267352.html 在window,显示变量 print(x);而在linux中 print x 例如,有两个列表: ...
- python3中的zip函数
zip函数的作用: zip函数接受任意多个可迭代对象作为参数,将对象中对应的元素打包成一个tuple,然后返回一个可迭代的zip对象. 这个可迭代对象可以使用循环的方式列出其元素 若多个可迭代对象的长 ...
- python中的zip()函数和map()函数
一.zip()函数 1.语法: zip(iterable, ...) 参数说明: iterable,...-- 一个或多个迭代器; 在python2中: zip() 函数用于将可迭代的对象作为参数,将 ...
- 第11条:用zip函数同时遍历两个迭代器
核心知识点: (1)内置的zip函数可以平行地遍历多个迭代器. (2)python3中地zip相当于生成器,会在遍历过程中逐次产生元祖.而python2中地zip则是直接把这些元祖完全生成好,并一次性 ...
- zip函数用于对列表对应元素打包成元组
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表. 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以 ...
- python3版本中的zip函数
例如,有两个列表: 1 2 >>>a = [1,2,3] >>>b = [4,5,6] 使用zip()函数来可以把列表合并,并创建一个元组对的列表. 1 2 > ...
- 关于python3.4版本中的zip函数
特别注意: 在window,显示变量 print(x);而在linux中 print x 例如,有两个列表: >>>a = [1,2,3] >>>b = [4,5, ...
随机推荐
- 剑指Offer_编程题_1
题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. class Sol ...
- 运维监控-使用Zabbix Server 添加自定义 item
运维监控-使用Zabbix Server 监控自定义 item 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客就直接开门见山如何使用Zabbix Server 监控自定义 ...
- Kafka技术内幕 读书笔记之(三) 消费者:高级API和低级API——消费者消费消息和提交分区偏移量
消费者拉取钱程拉取每个分区的数据,会将分区的消息集包装成一个数据块( FetchedDataChunk )放入分区信息的队列中 . 而每个队列都对应一个消息流( KafkaStream ),消费者客户 ...
- Sass map详解
作为一个CSS预处理器,Sass正受到越来越多的青睐,诸如Github.Codepen.CSS-Tricks.SitePoint.w3cplus等网站采用Sass组织.管理CSS文件,Sass正在逐渐 ...
- window.location.reload();页面实现跳转和刷新
1 history.go(0)2 location.reload()3 location=location4 location.assign(location)5 document.execComma ...
- Eclipse复制web项目怎么改
在学习中,做一个项目时 , 完成到了某一阶段 实现了部分功能,有必要保存这一项目, 1 在以后的学习中如果能顺利的完成后续部分,可以在需要特定功能时 复习这个项目, (必要性) 2 如果在后续的 ...
- internet信息服务(iis)无法删除的解决方法
internet信息服务(iis)无法删除的解决方法: 1.进入控制面板: 2.然后点击添加删除程序: 3.接着点击“添加/删除windows组件”: 4.点击“internet信息服务(iis)”, ...
- 用过企业微信APP 后,微信接收不到消息,解决方案
用过企业微信APP 后,微信接收不到消息的,怎么办? 请打开企业微信,找到:我----设置----新消息通知----仅在企业微信中接收消息
- jsp使用cookie自动登录
Login.jsp <%@ page language="java" import="java.util.*" pageEncoding="ut ...
- Java时间转换的一个特性
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm"); Date codedat ...