【问题标题】:Pythonic way to check if number falls in a certain range [duplicate]检查数字是否在一定范围内的Pythonic方法[重复]
【发布时间】:2015-11-16 22:25:39
【问题描述】:

以下代码根据v 变量所在的范围为a 变量分配一个特定值。

if v>0 and v<1000:
    c='green'
elif v>=1000 and v<2000:
    c='yellow'
else:
    c='red'

效果很好,但我想知道是否有更 Pythonic 的方式来编写以下条件块。

【问题讨论】:

  • 我回答了,但我很确定这里某处有一个典型的骗子

标签: python conditional


【解决方案1】:

0 &lt; v &lt; 1000

仅此而已……

编辑

这适用于您的特定用例

var_color = ['green', 'yellow', 'red'][(v >= 1000) + (v >= 2000)]

【讨论】:

  • 看起来不错。没有办法逃避我假设的条件语句。对吗?
  • 转义条件语句?哦,我明白了,嗯,总有办法......
  • ['green', 'yellow', 'red'][(v &gt;= 1000) + (v &gt;= 2000)]
  • @MuhammadYounus 如果你认为这段代码是 Pythonic,我鼓励你回顾一下你的理解。
猜你喜欢
  • 2017-03-28
  • 2021-04-01
  • 2017-05-16
  • 2011-03-31
  • 2018-10-29
  • 2014-05-05
  • 2013-09-14
  • 2015-11-28
  • 2021-11-05
相关资源
最近更新 更多