如何在一个列表中添加两个数字。
我试图在数组中添加两个数字,它只是在响应框中显示一个数字都没有。守则是这样看的:
def add2NumberArrays(a,b):
res = []
for i in range(0,len(a)):
return res.append(a[i] + b[i])
a = [4,4,7]
b = [2,1,2]
print(add2NumberArrays(a,b))为什么这回不回呢?请帮帮忙。
编辑
我的代码是这样的:
def add2NumberArrays(a,b):
for i in range(0,len(a)):
res = []
ans = res.append(a[i]+b[i])
return ans
a = [4,4,7]
b = [2,1,2]
print(add2NumberArrays(a,b))发布于 2022-12-04 20:03:27
您可以使用itertools.zip_longest处理两个list的不同长度。
from itertools import zip_longest
def add2NumberArrays(a,b):
# Explanation:
# list(zip_longest(a, b, fillvalue=0))
# [(4, 2), (4, 1), (7, 2), (0, 2)]
return [i+j for i,j in zip_longest(a, b, fillvalue=0)]
a = [4,4,7]
b = [2,1,2,2]
print(add2NumberArrays(a,b))
# [6, 5, 9, 2]您的代码需要更改如下:
def add2NumberArrays(a,b):
res = []
for i in range(0,len(a)):
res.append(a[i]+b[i])
return res
# As a list comprehension
# return [a[i]+b[i] for i in range(0,len(a))]
a = [4,4,7]
b = [2,1,2]
print(add2NumberArrays(a,b))
# [6, 5, 9]https://stackoverflow.com/questions/74680339
复制相似问题