Python中的switch语句的替换?

Python中的switch语句的替换?

我想在Python中编写一个函数,它根据输入索引的值返回不同的固定值。

在其他语言中,我会使用switchcase声明,但Python似乎没有switch声明。在这种情况下,推荐的Python解决方案是什么?


幕布斯7119047
浏览 1104回答 4
4回答

翻阅古今

你可以使用字典:def f(x):     return {         'a': 1,         'b': 2,     }[x]

偶然的你

我一直喜欢这样做result = {   'a': lambda x: x * 5,   'b': lambda x: x + 7,   'c': lambda x: x - 2}[value](x)从这里

慕哥6287543

除了字典方法(我非常喜欢BTW)之外,您还可以使用if-elif-else来获取switch / case / default功能:if x == 'a':     # Do the thingelif x == 'b':     # Do the other thingif x in 'bc':     # Fall-through by not using elif, but now the default case includes case 'a'!elif x in 'xyz':     # Do yet another thingelse:     # Do the default这当然与开关/箱子不一样 - 你不能像离开休息那样容易穿透; 声明,但你可以进行更复杂的测试。它的格式比一系列嵌套ifs更好,即使功能上它更接近它。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python