首页 > 其他 > 详细

lambda 中if-elif-if

时间:2018-04-09 13:46:32      阅读:493      评论:0      收藏:0      [点我收藏+]

一般情况下:

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

原文:https://www.cnblogs.com/cymwill/p/8758970.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!