我有两个数组,想对两个数组的每个元素求和并找到最大和。 我已经这样编程了:
sum = []
for element in arrayOne:
sum.append(max([item + element for item in arrayTwo]))
print max(sum)
有没有更好的方法来实现这一目标?
答案 0 :(得分:3)
您可以使用numpy。
import numpy as np
a = np.array(arrayOne)
b = np.array(arrayTwo)
max = max(a + b)
print(max)
答案 1 :(得分:2)
将itertools.product
与max
一起使用:
from itertools import product
print(max(sum(x) for x in product(arrayOne, arrayTwo)))
或使用地图:
print(max(map(sum,product(arrayOne, arrayTwo))))
答案 2 :(得分:2)
max_sum = max(map(sum, zip(arrayOne, arrayTwo)))
已更新。 如果您需要数组中所有元素之和的最大值:
max_sum = max(sum(arrayOne), sum(arrayTwo))
如果arrayOne
和arrayTwo
是嵌套列表([[1, 2], [3, 3], [3, 5], [4, 9]]
),则需要查找具有最大和的元素:
max_sum = max(map(sum, arrayOne + arrayTwo))
P。 S。 下一次,请提供输入和输出示例,以免让我们猜测您需要什么。
答案 3 :(得分:1)