在编程中,我们常常会遇到使用if…else的情况,某些语言中在if…else过多的时候我们会使用switch…case来替代if…else以避免代码结构过于冗长。
Python是不支持switch…case语法的,自然无法使用switch…case来替代if…else结构。
但好在强大的Python支持lambda, 本文就是介绍一种用lambda来替代if…else的方法实现。
先看看lambda 函数语法:
lambda [arg1 [, agr2,.....argn]] : expression
例如,我们要将两个字符串拼接并转为大写,可以这样实现:
In [80]: str1="hello"
...: str2="world"
...: str3="{}{}".format(str1.upper(), str2.upper())
...:
In [81]: str3
Out[81]: 'HELLOWORLD'
使用lambda函数可以这样做:
In [83