python 中是否有一种正确的方法可以通过模式匹配来限制 numpy 数组的形状?



x是一个形状的 numpy 数组 (400, 2(

我希望以下内容为真:

if x.shape == (*, 2):
...

如果x的形状为 (300, 1(,则条件的计算结果应为 false。

但显然你既不能使用*也不能使用_.
在python中有什么方法可以实现这样的模式匹配吗?

您可以简单地访问x.shape返回的元组并检查x的维度:

if x.shape[1] == 2 and x.ndim == 2:
...

会做这项工作。