gpt4 book ai didi

python - 特定类型的可变数量元素的结构模式

转载 作者:行者123 更新时间:2023-12-05 04:32:20 24 4
gpt4 key购买 nike

举个简单的例子,假设我想匹配一个由 1 个整数、未知数量的字符串和 1 个 bool 值组成的序列。 match 语句目前可以做到这一点吗?

如果事先知道字符串的数量,问题就很简单,对于 2 个字符串,它只是:

match val:
case [int(), str(), str(), bool()]:
...

但是n个字符串可以吗?

我的直觉是尝试类似的东西:

match val:
case [int(), *str(), bool()]:
...

但这是一个语法错误。

这是目前模式匹配无法完成的事情吗?

最佳答案

您可以使用 guard :

match val:
case [int(), *v, bool()] if all(isinstance(i, str) for i in v):
print('matched')

关于python - 特定类型的可变数量元素的结构模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71679378/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com