【发布时间】:2023-04-02 05:08:01
【问题描述】:
我在上个月开始学习 python。我最近遇到了一个代码示例,其中代码中的计数器根据条件递增。作者的做法是:
x = 0
x += [-1, 1][a == b]
从测试来看,这与您使用if a==b: increment, else: decrement
的效果相同。
我在 python 文档中查看的其他任何地方都找不到这种语法。它看起来非常强大,允许各种条件赋值并有助于简洁。
我不应该使用这个结构有什么原因吗?这个结构在做什么?
【问题讨论】:
-
a==b will be 1 or 0
所以[-1, 1]
的索引0或索引1 -
我想指出的是,不建议在您的代码中使用它,因为它会使其他人更难阅读,甚至将来可能对您而言也是如此。
-
这不是很pythonic,请改用
1 if a==b else -1
。
标签:
python
if-statement
syntax
conditional
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:带有变量赋值的 Python 隐式 if 语句——这是如何工作的? [复制] - Python技术站