将两个不同长度的数组相乘

时间:2018-08-17 16:52:49

标签: python arrays

我想知道如何在Python中以最有效的方式执行此算法。基本上将两个不同长度的数组相乘,记住长度会改变。有人告诉我不要使用内置函数。

a = [10, 20, 30, 40, 50]
b = [1, 2, 3]


10 * 1 = 10
20 * 2 = 40
30 * 3 = 90

40 * 1 = 40
50 * 2 = 100

3 个答案:

答案 0 :(得分:3)

完美$ npm update

$ npm install

答案 1 :(得分:1)

这是一个不需要导入的示例:

index = 0
for item in a:
    print (item * b[index])
    index += 1
    if index >= min(len(a), len(b)):
        index = 0

答案 2 :(得分:0)

不使用功能,您需要import

a.extend(a[:max(len(b) - len(a), 0)])
b.extend(b[:max(len(a) - len(b), 0)])
print([x * y for x, y in zip(a, b)])

基本上,我们将较小的列表扩展到较大的列表的大小。只有其中一个列表的大小不超过第二个列表的两倍时,它才有效。