2024年07月06日 Python case when函数 极客笔记
在编程中,有时候我们需要根据条件来选择不同的操作,这时候就可以使用case when
函数。在Python中,并没有内置的case when
函数,但我们可以通过一些方法来模拟实现这个功能。本文将介绍几种在Python中实现case when
函数的方法,并且给出示例代码和运行结果。
我们可以使用字典来模拟case when
函数,将条件和对应的操作存储在字典中,然后根据条件从字典中取出对应的操作。下面是一个示例代码:
def case_when(condition, cases):
return cases.get(condition, None)
cases = {
'a': 1,
'b': 2,
'c': 3
}
print(case_when('a', cases)) # 输出1
print(case_when('d', cases)) # 输出None
上面的代码定义了一个case_when
函数,接受条件和字典形式的操作集合作为参数。通过调用case_when
函数,我们可以根据条件选择不同的操作。在这个示例中,如果条件为’a’,则输出1;如果条件为’d’,则输出None。
另一种实现case when
函数的方法是使用if-elif-else语句,根据条件来选择不同的操作。下面是一个示例代码:
def case_when(condition):
if condition == 'a':
return 1
elif condition == 'b':
return 2
elif condition == 'c':
return 3
else:
return None
print(case_when('a')) # 输出1
print(case_when('d')) # 输出None
在这个示例中,我们定义了一个case_when
函数,通过使用if-elif-else语句来实现根据条件选择不同的操作。如果条件为’a’,则输出1;如果条件为’d’,则输出None。
我们还可以使用lambda函数来模拟case when
函数的功能。lambda函数是一种匿名函数,可以将条件和操作写在一起,非常简洁。下面是一个示例代码:
def case_when(condition):
return {
'a': lambda: 1,
'b': lambda: 2,
'c': lambda: 3
}.get(condition, lambda: None)()
print(case_when('a')) # 输出1
print(case_when('d')) # 输出None
在这个示例中,我们定义了一个case_when
函数,通过使用lambda函数将条件和操作写在一起,实现了根据条件选择不同的操作。如果条件为’a’,则输出1;如果条件为’d’,则输出None。
在本文中,我们介绍了三种在Python中实现case when
函数的方法:使用字典、if-elif-else语句和lambda函数。每种方法都有其优劣势,可以根据具体情况选择合适的方法来实现条件选择操作。通过这些方法,我们可以更加灵活地根据条件选择不同的操作,提高编程的效率和灵活性。
本文链接:http://so.lmcjl.com/news/7962/