我正在尝试创建一个函数,该函数接受两个列表列表并返回其值的总和。
假设我有2个列表:
list1 = [[7,8], []]
list2 = [[3,4,2],[6,9]]
预期输出:
[[10,12,2],[6,9]]
或另外2个列表:
list1 = [[], []]
list2 = [[3,4,2],[6,9]]
预期输出:
[[3,4,2],[6,9]]
我认为使用列表理解将是实现此目的的最有效方法,但是我对列表理解的了解并不如我所愿。
我看过Stack Overflow,对于这个问题,我能找到的最接近答案只有2个不包含另一个列表的列表。
答案 0 :(得分:3)
您可以对zip
和itertools.zip_longest
使用嵌套列表推导:
import itertools
list1 = [[7,8], []]
list2 = [[3,4,2],[6,9]]
>>> [[x+y for x,y in itertools.zip_longest(i1,i2,fillvalue=0)] for i1,i2 in zip(list1,list2)]
[[10, 12, 2], [6, 9]]
list1 = [[], []]
list2 = [[3,4,2],[6,9]]
>>>[[x+y for x,y in itertools.zip_longest(i1,i2,fillvalue=0)] for i1,i2 in zip(list1,list2)]
[[3, 4, 2], [6, 9]]