Как передать массив функции в Python?

24b4Jeff спросил: 10 мая 2018 в 04:11 в: python

В Python 3.6 я пытаюсь построить функции, которые принимают векторы в качестве входных и выходных векторов. В качестве тривиального примера рассмотрим код:

import numpy as npdef vadd(a,b):    res = np.array([[0,0,0]])    res[0] = a[0]+b[0]    res[1] = a[1]+b[1]    res[2] = a[2]+b[2]    return res

Когда я запускаю его с объектами типа np.array с тремя элементами, Python возвращает индексную ошибку. Что не так?

1 ответ

rvd ответил: 10 мая 2018 в 04:18

Вы можете просто добавить векторы напрямую, используя numpy:

def vadd(a, b):
    return a + b

Чтобы быть в безопасности, вы можете установить проверку isinstanceof убедитесь, что a,b - это действительно numpy массивы.

24b4Jeff ответил: 10 мая 2018 в 04:54
Да, я знаю. Я использовал add как простой пример; то, что я намереваюсь сделать, гораздо сложнее, поэтому я хочу, чтобы вы определяли функцию. Извините, если я вызвал путаницу!

Дополнительное видео по вопросу: Как передать массив функции в Python?

Python NumPy Tutorial | NumPy Array | Python Tutorial For Beginners | Python Training | Edureka

Arrays in Python / Numpy

numpy tutorial - basic array operations