Python中文
首页
教程
问答
标签
搜索
登录
注册
Python lambda一直都很有趣
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我用labdas编写了代码,每次创建函数对象时都会检查它是不同的(不是引用同一个对象), 但它并不像我想象的那样有效。有什么方法可以或者应该用函子来做,即使我有常量数据插入lambda的体中?在</p> <pre><code>pairs = [('abc', 'xyz'), ('123', '987'), ('abc', '987')] pairLambs = [] for p in pairs: pairLambs.<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>(lambda: print(p)) pairLambs[0]() pairLambs[1]() pairLambs[2]() </code></pre> <p>输出:</p> ^{pr2}$ <p>但我需要:</p> <pre><code>('abc', 'xyz') ('123', '987') ('abc', '987') </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>这就是python中闭包的工作原理。为了达到你想要的效果,你可以这样做:</p> <pre><code> for p in pairs: def closure(_p): return lambda: print(_p) pairLambs.append(closure(p)) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如果给定字符串与字典中的键值匹配,如何返回键
1 回答
如果给定字符串与字典中的键匹配,如何返回键的值
3 回答
如果给定字符串与某些格式不匹配,将引发哪个异常?
4 回答
如果给定存储库和修订号#/revision ID,我可以使用什么Bzr函数返回分支位置?
7 回答
如果给定开始和结束版本号,是否有bzrlib函数将返回所有虚线版本号?
9 回答
如果给定日期差(天)中不存在值,Python将删除ID行
9 回答
如果给定时间来源,如何将日期时间从十进制转换为“%y%m%d%H:%m:%S”?
9 回答
如果给定条件,如何计算欧氏距离?
5 回答
如果给定极限,如何在极限处停止循环。如何返回带有附加值的新列表?
4 回答
如果给定查询的lis没有找到记录,Django将返回none对象
3 回答
如果给定点和每个点之间的距离(测向纬度, 液化天然气)小于或等于0.1km
1 回答
如果给定的字符串与字典中的keys值匹配,如何返回字符串中的多个键
8 回答
如果给定的数字是列表中存在的两个不同数字的总和(仅在一次过程中),如何返回“True”?
3 回答
如果给定的数据在R或Python的范围(1到1)内,如何规范化格式(3、2、1、0、1、2、3)的数据?
6 回答
如果给定的日期是本月的最后一天,如何增加月数?
2 回答
如果给定的是像素值而不是坐标值,如何将灰度像素值更改为彩色值
3 回答
如果给定的条件为真,如何打开窗口?
9 回答
如果给定的键和值与字典列表中的匹配,则获取所有字典
5 回答
如果给定相同的名称,python类中的属性值会改变吗?
10 回答
如果给定空列表,则返回“0”
3 回答