Match — Case Python

Premkumar Kora
3 min readNov 26, 2023

How to use the new match and case. These keywords allow us to perform structural pattern matching, which is a powerful and expressive way of handling complex data structures and conditions.

In this notebook, you will learn how to:

  • Match on lists or tuples
  • Match on dictionaries and check specific values
  • Use **args to match arbitrary arguments
  • Use conditional matching and sub-pattern matching
  • Match on data types

Below is the syntax of the Match Case in Python

Below is a simple example

The match-case statement is a new feature in Python 3.10 that allows you to perform pattern matching on different types of data structures, such as lists and tuples. It is similar to the switch-case statement in other languages, but more expressive and concise.

You can also work through dictionaries in match case, see the example below:

How to Check Specific Values in Dictionaries, The first case will execute although the following case satisfies… See the example below

Using **args just like you use it in the Python Functions

Conditional Matching in Match Case: Conditional matching in match case Python is a feature that allows you to add an if clause to the case pattern, so that you can check for more complex conditions. For example, you can write something like this:

Sub Pattern Matching:Sub pattern matching in match case Python is a feature that allows you to use nested patterns inside a case pattern, so that you can match more complex structures.

Data Type Matching: Data type matching in match case Python is a feature that allows you to use the type of a value as a pattern in a case statement, so that you can check if the value is an instance of a certain type.

I hope you find this article is useful and interesting. You can see the colab link at https://github.com/premkumarkora/Match-Case.ipynb Please feel free to check it out, fork it, star it, or leave your feedback.

--

--

Premkumar Kora
Premkumar Kora

Written by Premkumar Kora

Achievement-driven and excellence-oriented professional, Currently working on Python, LLM, ML, MT, EDA & Pipelines, GIT, EDA, Analytics & Data Visualization.

No responses yet