使用函数从两个列表中求和值 - 无zip,map

时间:2018-02-16 17:41:44

标签: python

我需要解决方案来对每个具有相同索引的项目进行求和(加法)。我找到了使用map,zip,list comprehension的解决方案。有没有定义功能的解决方案。 我的尝试:

[sDocumentsDir stringByAppendingString:file]

上面的输出是a = [1,2,3] b = [4,5,6] def add(a,b): for x in a: return(x) def add1(x,b): for b in b: return x + b print (add(a,b)) ,这是错误的

预期输出:1

4 个答案:

答案 0 :(得分:1)

a = [1,2,3]
b = [4,5,6]

def add(a, b):
    c = []
    for i in range(len(a)):
        c.append(a[i] + b[i])
    return c

print(add(a, b))

输出:

[5, 7, 9]

答案 1 :(得分:1)

试试这个,

a = [1,2,3]
b = [4,5,6]
c=list()
for i in range(len(a)):
    c.append(a[i]+b[i])

答案 2 :(得分:0)

使用numpy

import numpy as np
c = np.add(a, b).tolist()

也就是说,您可以将您的功能定义为:

def add(a, b):
    return np.add(a, b).tolist()

,或者

add = lambda a, b: np.add(a, b).tolist()

答案 3 :(得分:0)

您可以使用下面的代码添加它们是否具有相同的长度

a = [1,2,3]
b = [4,5,6]
c=[]
def add_array(a,b):
    for i in range(len(a)):
        c.append(a[i]+b[i])
    return c
print(add_array(a,b))

或者您可以将它们转换为numpy数组并添加

import numpy as np
a = [1,2,3]
b = [4,5,6]
def add_array(a,b):
    x=np.array(a)
    y=np.array(b)
    return x+y
print(add_array(a,b))