python六剑客

本文深入探讨了Python中lambda匿名函数的使用,包括map(), filter(), reduce()等高级函数的应用场景和实现方式,同时介绍了列表推导和切片的高效用法。

一、lambda匿名函数

lambda只是一个表达式,不是一个代码块
省略def关键字创建匿名函数

>>> a=lambda x:x+1
>>> a
<function <lambda> at 0x00000152DC440D38>
>>> type(a)
<class 'function'>
>>> a(1)
2
>>> a=lambda x,y,z:x+y+z
>>> a(1,2,3)
6

二、map()

Make an iterator that computes the function using arguments from each of the iterables. Stops when the shortest iterable is exhausted.
有道翻译:
制作一个迭代器,使用来自每个迭代器的参数来计算函数。当最短迭代器耗尽时停止。
map(func, *iterables)
func–>函数
*iterables–>可迭代序列
返回一个迭代器

>>> map(str,[1,2,3])
<map object at 0x00000152DC8A7BC8>
>>> list(map(str,[1,2,3]))
['1', '2', '3']
>>> a= map(lambda x:x+1,[1,2,3])
>>> list(a)
[2, 3, 4]
>>> a= map(lambda x,y:x+y,[1,2,3],[4,5,6])
>>> list(a)
[5, 7, 9]

>>> a= map(lambda x,y:x+y,[1,2,3],[6])
>>> list(a)
[7]

三、filter()

对序列做过滤处理

>>> list(filter(lambda x: x>2,[1,2,4]))
[4]

>>> filter(lambda x: x>2,[1,2,4])
<filter object at 0x00000152DC8B6888>

四、reduce()

用来将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给reduce中的函数 func()(必须是一个二元操作函数)先对集合中的第1, 2个数据进行操作,得到的结果再与第三个数据用func()函数运算,最后得到一个结果。

>>> reduce(lambda x,y:x+y,[1,2,3,4])
10

第一次:x=1,y=2,x+y=3 将3赋值给x
第二次:x=3,y=3,x+y=6 将6赋值给x
第三次:x=6,y=4,x+y=10

五、推导列表

>>> [x for x in range(10)]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> [x for x in range(10) if x>=5]
[5, 6, 7, 8, 9]
>>> a=[[1,2,3],[4,5,6]]
>>> [[i[j] for i in a] for j in range(3)]
[[1, 4], [2, 5], [3, 6]]

六、切片

>>> [4,2,7,5,8][2:4]
[7, 5]
【复现】并_离网风光互补制氢合成氨系统容量-调度优化分析(Python代码实现)内容概要:本文围绕“并_离网风光互补制氢合成氨系统容量-调度优化分析”的主题,提供了基于Python代码实现的技术研究与复现方法。通过构建风能、太阳能互补的可再生能源系统模型,结合电解水制氢与合成氨工艺流程,对系统的容量配置与运行调度进行联合优化分析。利用优化算法求解系统在不同运行模式下的最优容量配比和调度策略,兼顾经济性、能效性和稳定性,适用于并网与离网两种场景。文中强调通过代码实践完成系统建模、约束设定、目标函数设计及求解过程,帮助读者掌握综合能源系统优化的核心方法。; 适合人群:具备一定Python编程基础和能源系统背景的研究生、科研人员及工程技术人员,尤其适合从事可再生能源、氢能、综合能源系统优化等相关领域的从业者;; 使用场景及目标:①用于教学与科研中对风光制氢合成氨系统的建模与优化训练;②支撑实际项目中对多能互补系统容量规划与调度策略的设计与验证;③帮助理解优化算法在能源系统中的应用逻辑与实现路径;; 阅读建议:建议读者结合文中提供的Python代码进行逐模块调试与运行,配合文档说明深入理解模型构建细节,重点关注目标函数设计、约束条件设置及求解器调用方式,同时可对比Matlab版本实现以拓宽工具应用视野。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值