【问题标题】:Add two lists of integers together into a 3rd list?将两个整数列表一起添加到第三个列表中?
【发布时间】:2015-11-28 16:51:22
【问题描述】:

例如

list1=[1,2,3,4,5]
list2=[1,2,3,4,5]
..
list3=[2,4,6,8,10]

我已经尝试了一些东西,但它弹出一条消息说:超出范围“。这是我的代码:

for i in range(mikos):
    lista3[i]=lista1[i]+lista2[i]

print(lista3)

#'mikos' is the number of elements in each list

【问题讨论】:

  • 您是如何在for 循环之前定义lista3 的?似乎它可能没有 5 个元素。

标签: python list


【解决方案1】:

您可以在没有循环的情况下执行此操作:

lista3 = [x+y for x,y in zip(lista1, lista2)]

【讨论】:

  • 可能希望使用izip_longest()fillvalue=0 参数来处理不同长度的列表。
【解决方案2】:

一种方法是:

from operator import add
map(add, list1, list2)

另一个是:

[x + y for x, y in zip(list1, list2)]

还有一个是

[sum(x) for x in zip(list1, list2)]

【讨论】:

    【解决方案3】:

    很简单的做法是:

    list1=[1,2,3,4,5]
    list2=[1,2,3,4,5]    
    list3 = []    
    mikos = len(list1)
    
    for i in range(mikos):
        list3.append(list1[i]+list2[i])
    
    print(list3)
    

    【讨论】:

    • mikos 在英语中的意思类似于 length。对于那些像我一样想知道的人。
    • 为什么投反对票?我认为 OP 寻找一个简单的解决方案,而不是一个非常好的理解表达式,但对于初学者来说有点难以使用。 (docs.python.org/3/reference/…)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-29
    • 2016-01-15
    • 2021-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多