2016-08-02 6 views
0

Предположим, у меня есть 2-мерный список, представляющий матрицу числовых значений (Нет, я не использую numPy для этого). Разрешенные типы в этом списке относятся к категории numbers.Number. Предположим, что я хочу изолировать любые не численные значения внутри этого списка, такие как строки, единственный вариант, который я вижу, - это проверить каждый элемент отдельно и проверить, не является ли он экземпляром чисел. Номер:Python - Определение внешних типов в списке

Мой вопрос: есть ли другой способ изучить матрицу в целом, не глядя на каждый элемент? У Python или одной из его библиотек есть встроенная функция для идентификации посторонних элементов в списке (списков)? Или я должен продолжить с текущего примера, который я представил?

ответ

2

Попробуйте это:

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') 
+0

Он отлично работает! Благодаря! –

 Смежные вопросы

  • Нет связанных вопросов^_^