我想在 Python 中编写一个函数,该函数根据输入索引的值返回不同的固定值。
在其他语言中,我会使用 switch
或 case
语句,但 Python 似乎没有 switch
语句。在这种情况下推荐的 Python 解决方案是什么?
原文由 Michael Schneider 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想在 Python 中编写一个函数,该函数根据输入索引的值返回不同的固定值。
在其他语言中,我会使用 switch
或 case
语句,但 Python 似乎没有 switch
语句。在这种情况下推荐的 Python 解决方案是什么?
原文由 Michael Schneider 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果你想要默认值,你可以使用字典 get(key[, default])
函数:
def f(x):
return {
'a': 1,
'b': 2
}.get(x, 9) # 9 will be returned default if x is not found
原文由 Nick 发布,翻译遵循 CC BY-SA 4.0 许可协议
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
下面的原始答案是在 2008 年编写的。从那时起,Python 3.10 (2021) 引入了
match
-case
语句,它为 Python 提供了“开关”的一流实现。例如:match
-case
语句比这个简单的例子要强大得多。您可以使用字典: