结构化模式匹配

介绍

Python 3.10 中的模式匹配 | 那时难决 (duyixian.cn)

示例

# 快速排序的一个概念性实现
def quicksort(arr: list[int]) -> list[int]:
    match arr:
        case first,:
            return [first]
        case first, second:
            return [first, second] if first <= second else [second, first]
        case first, *rest:
            return (
                quicksort([num for num in rest if num <= first])
                + [first]
                + quicksort([num for num in rest if num > first])
            )

Backlinks