Я пытаюсь объединить два двумерных массива в Python, используя map () и функцию с условием if.
Когда я опускаю оператор if, map () работает так, как я ожидал.
Это работает (но нужное условие if не выполняется):
list1 = np.array([np.array([1,2,0]),np.array([1,2,3]),np.array([0,0,3])])
list2 = np.array([np.array([4,5,6]),np.array([4,5,6]),np.array([4,5,6])])
collapsed = list(map(lambda x,y: x + y, list1, list2))
И возвращает:
collapsed = [array([5, 7, 6]), array([5, 7, 9]), array([4, 5, 9])]
Следующие возвращаемые значения:
"ValueError: Значение истинности массива с более чем одним элементом неоднозначно."
collapsed = list(map(lambda x,y: x + y if x == 0 else x, list1, list2))
Когда то, что я ожидал, было:
collapsed = [[1,2,6][1,2,3][4,5,3]]