[英]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.