使用嵌套列表中的整数的列表进行数学运算

时间:2015-12-14 18:59:00

标签: python list math numpy integer

我有:

List1 = [100, 200, 300]

List2 = [[34,35,36],[0,1,2,3],[0,1,2]]

如何将List1的每个元素与List2中每个列表中的每个元素相加?

我想:

List3 = [[134,135,136],[200,201,202,203],[300,301,302]]

我尝试过按照以下方式做的事情:

for i in List2:
    [sum(x) for x in zip(List1, i)] 

但我没有得到正确的答案。

提前致谢。

2 个答案:

答案 0 :(得分:2)

如果你想使用列表理解,你可以写:

>>> [[x + a for a in lst] for x, lst in zip(List1, List2)]
[[134, 135, 136], [200, 201, 202, 203], [300, 301, 302]]

(这假设两个列表的长度相同;如果不是,您可能希望使用itertools库中的zip_longest来填充较短的列表。)

答案 1 :(得分:1)

我可能会建议稍微不同的实现:

List3 = map(lambda x, y: [z + x for z in y], List1, List2)