python - Python中的三元运算符中是否可以进行多个变量赋值?
问题描述
只是出于好奇。我想知道是否可以在 Python 中使用三元运算符进行多次赋值。我在想这样的事情
rval = m if (fl*fm) < 0 else lval = m
另一方面,我想知道为什么不能像上面那样编写代码。为什么不以这种方式实现语法?(对不起,如果这个问题太元了)
编辑:
澄清。我只是在写一些二等分函数https://en.wikipedia.org/wiki/Bisection_method:
while(n_iterations < n_iters_max):
m = (lival + rival)/2.0
fm = f(m)
if (fl*fm) < 0:
rival = m
else:
lival = m
if np.abs(rival-lival) < ival_size:
break
n_iterations+=1
感谢您的任何想法!
解决方案
Python之禅
虽然问题背后的想法应该得到真正的赞赏和喝彩,以及@Heap Overflow 的聪明和最前沿的解决方案——这似乎是一条危险的旅行之路。
你说得对,我不是“蟒蛇警察”;然而,Python 之禅在这个实现方面不言自明。
显式优于隐式。
简单胜于复杂。
可读性很重要。
应该有一种——最好只有一种——明显的方法来做到这一点。
如果实现很难解释,那是个坏主意。
为了使这篇文章成为一个答案而不是漫无边际,我将参考上面的引用。虽然这个想法肯定很有趣......
Python 中的“这是个坏主意”。
推荐阅读
- odoo - 为什么 Wkhtmltopdf 没有在 Odoo 中显示页眉和页脚?
- ruby-on-rails - 使用 Ruby-on-Rails 和 MiniTest 存根
- node.js - 检查用户是否在 Express 中打开了静态文件?
- kubernetes - 在 Kubernetes 集群的所有节点上运行守护程序集
- python - Jupyter notebook 内核未连接 StreamClosedError
- javascript - 如何使用 Javascript、jQuery 对提交按钮应用多个操作?
- rest - 使用 Kotlin 协程的 Guava LoadingCache
- c# - 需要从 UWP 使用智能卡上的私钥解密 smime p7m 文件
- java - Mapreduce不同的key产生不同数量的消息
- python-2.7 - 如何导入 Python 模块并对其依赖项进行猴子补丁?