lambda 中if-elif-if
Posted chen狗蛋儿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lambda 中if-elif-if相关的知识,希望对你有一定的参考价值。
一般情况下:
if 条件1: 语句1 elif 条件2: 语句2 else: 语句3
但如果要使用lambda一行表示if多条件,则:
lambda x: 语句1 if 条件1 else 语句2 if 条件2 else 语句3 # 实际上是下面这样表达 lambda x: 语句1 if 条件1 else ( 语句2 if 条件2 else 语句3 )
例如: 将S变为0,C变为1,Q变为2:
>>> f = lambda x: 1 if x=="C" else 0 if x=="S" else 2 >>> f("S") 0 >>> f("C") 1 >>> f("Q") 2 >>> f = lambda x: 1 if x=="C" else (0 if x=="S" else 2) >>> f("C") 1 >>> f("Q") 2 >>> f("S") 0
当然还可以通过一个字典来改变:
>>> di = {"S":0,"C":1,"Q":2} >>> f = lambda x: di[x] >>> f("S") 0 >>> f("Q") 2 >>> f("C") 1
以上是关于lambda 中if-elif-if的主要内容,如果未能解决你的问题,请参考以下文章
使用 savedInstanceState 保存和恢复 Kotlin lambda
IntelliJ:求值lambda表达式在调试时引发编译错误
Android开发太难了:Java Lambda ≠ Android Lambda (上)
Android开发太难了:Java Lambda ≠ Android Lambda (上)