gpt4 book ai didi

python - 在检查长度时添加两个列表

转载 作者:行者123 更新时间:2023-12-01 03:32:31 25 4
gpt4 key购买 nike

我遇到了一个问题,我必须将两个列表添加在一起,同时考虑长度。例如,如果 list1 = [1,2]list2 = [3,4,5],则答案将为 [1+3,2+4 ,5][4,6,5]

到目前为止我所拥有的是:

def addsum(list1,list2):
new_list = []
if len(list1) > len(list2):
new_list = list1[0:]+list2[0:]

我不太确定如何解决这个问题,因为我是列表新手。非常感谢您的帮助!

最佳答案

您应该使用zip_longest来自 itertools,列表理解中 fillvalue0:

r = [sum(i) for i in zip_longest(list1, list2, fillvalue=0)]

zip_longest 将输入列表中的元素配对(此处为 list1list2)。如果一个列表较小,则将较大列表的剩余元素与作为 fillvalue 提供的值(我们在此处分配给 0)配对。

现在,r 等于:

print(r) # [4, 6, 5]

同样,您可以使用 map 代替 list-comp:

# Python 3.x
r = list(map(sum, zip_longest(list1, list2, fillvalue=0)))
# Python 2.7
r = map(sum, zip_longest(list1, list2, fillvalue=0))

对于r得到相同的结果。

关于python - 在检查长度时添加两个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40712756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com