Python 3.10.0 provides an official syntactic equivalent, making the submitted answers not the optimal solutions anymore! In this SO post I try to cover everything you might want to know about the match - case construct, including common pitfalls if you're coming from other languages. Of course, if you're not using Python 3.10.0 yet, the existing answers apply and are still valid for 2021.
With Python, there are some differences to note though. Cases don't fall through It's common that languages with switch - case statements execute every case the value matches - from top to bottom. Hence, there is a third statement - break - to be used in switch - case constructs if you don't want to fall through: python Copy
I want to write a function in Python that returns different fixed values based on the value of an input index. In other languages I would use a switch or case statement, but Python does not appe...
Although, given how python is trying to implement pattern-matching, I think that for situations like this it's probably safer and clearer code to just use an if/elif/else tower when checking against constant values.
I'd like to create a switch/case where the cases can have intervals as condition, like: switch = { 1..<21: do one stuff, 21...31: do another } How can I achieve this result?
I came across a weird issue while using the new match/case syntax in Python3.10. The following example seems like it should work, but throws an error: values = [ 1, "hello", T...
According to the official Python documentation (PEP 636), once the first matching pattern is found, the body of that case is executed, and all further cases are ignored. Therefore, C-style fall-through matching (using switch with case s that lack break;) is not possible with Python's match statement syntax.
I want to process a string by matching it with a sequence of regular expression. As I'm trying to avoid nested if-then, I'm thinking of switch-case. How can I write the following structure in Python?