Python-识别列表中的无用类型

2024-04-20 07:02:32 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个表示数值矩阵的二维列表(不,我不使用numPy)。此列表中允许的类型属于numbers.Number类别。假设我希望隔离这个列表中的任何非数值,比如字符串,我能看到的唯一选择是单独检查每个元素,并检查它是否是的实例数字。数字地址:

from numbers import Number

def foo(matrix):
   # Check for non-numeric elements in matrix
   for row in matrix:
      for element in row:
         if not isinstance(element, Number):
            raise ValueError('The Input Matrix contains a non-numeric value')
   ...

我的问题是:有没有另一种方法可以把矩阵作为一个整体来检查,而不看每个元素?Python或它的一个库是否有一个内置函数来识别列表中的无关元素?或者我应该继续我提供的当前示例吗?你知道吗


Tags: innumpy元素number列表for矩阵数字
1条回答
网友
1楼 · 发布于 2024-04-20 07:02:32

试试这个:

print(any(not isinstance(x, Number) for row in matrix for x in row))

在函数中:

def foo(matrix):
    if any(not isinstance(x, Number) for row in matrix for x in row):
        raise ValueError('The Input Matrix contains a non-numeric value')

相关问题 更多 >