如何匹配作为复制结果的精确列表
How to match exact list which is the result of a replication
如果我有一个列表是复制的结果,我该如何精确匹配它?
x = [1, 2] * 10000
match x:
case list([1, 2] * 10000):
print(1)
给予,
case list([1, 2] * 10000):
^
SyntaxError: invalid syntax
python 中的 switch case 现在不允许对 case 条件进行简单操作。
您可以使用另一个 class 来定义您的案例:
(有关详细信息,请查看文档 here)
class Cases:
A = [1, 2] * 10000
B = [1, 2] * 100000
x = [1, 2] * 100000
match x:
case Cases.A:
print(1)
case Cases.B:
print(2)
输出:
2
如果我有一个列表是复制的结果,我该如何精确匹配它?
x = [1, 2] * 10000
match x:
case list([1, 2] * 10000):
print(1)
给予,
case list([1, 2] * 10000):
^
SyntaxError: invalid syntax
python 中的 switch case 现在不允许对 case 条件进行简单操作。
您可以使用另一个 class 来定义您的案例:
(有关详细信息,请查看文档 here)
class Cases:
A = [1, 2] * 10000
B = [1, 2] * 100000
x = [1, 2] * 100000
match x:
case Cases.A:
print(1)
case Cases.B:
print(2)
输出:
2