繁体   English   中英

将映射应用于 Python 中的多个二维数组

[英]Applying map to multiple 2d arrays in Python

我正在尝试使用 map() 和一个带有 if 条件的函数在 Python 中组合两个二维数组。

当我省略 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]]

我想你正在寻找这样的东西:

[[list(map(lambda x,y:  x + y if x == 0 else x, a, b))] for a, b in zip(la, lb)]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM