【问题标题】:How can i use condition orders in a simpler way?如何以更简单的方式使用条件订单?
【发布时间】:2020-07-29 07:35:23
【问题描述】:

我的代码如下所示:

Lst = [1 , 11 , 5 , 25, 100]
List(map(lambda x:'small' if x < 10 else : 'big' , lst ))

输出如下:

['small' , 'big' , 'small' , 'big' , 'big']

我的问题是,如果我在 elif 中使用另一个条件,我会得到 语法错误

List(map(lambda x:'small' if x < 10 x:'average' elif x>10 and x<50 else : 'big', lst ))

我该如何解决这个问题?

【问题讨论】:

  • if/else 三元运算符没有elif,这就是您收到语法错误的原因。要获得类似于elif 的行为,您必须链接多个if/else 三元运算符。
  • 想知道为什么人们不说理由就投票反对!

标签: python python-3.x list lambda


【解决方案1】:

只需添加另一个 if 子句作为 else 块

>>> lst = [1 , 11 , 5 , 25, 100]
>>> list(map(lambda x: 'small' if x < 10 else ('average' if x>10 and x<50 else 'big'), lst ))
['small', 'average', 'small', 'average', 'big']

else 块周围的括号是可选的,包含在内只是为了便于阅读

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-20
    • 1970-01-01
    • 1970-01-01
    • 2013-06-29
    • 1970-01-01
    • 2013-03-19
    相关资源
    最近更新 更多