首页 > 解决方案 > python中的列表添加

问题描述

我正在尝试创建一个将添加两个列表的函数,如果 list1 是 [9,1,2] 并且 list2 是 [8,5,3] 那么两个列表相加将产生一个列表。]1,7,6,5] 因为 912+853= 1765。

以下是我编写的代码:

def list_addition(list1,list2):
    otlist1=''
    otlist2=''
    for items1 in list1:
        otlist1+= items1
    for items2 in otlist2:
        otlist2+= items2
    strinum = int(otlist1)+ int(otlist2)
    return strinum

print(list_addition(['3','6','7'], ['4','9','0']))

我不断收到此错误:

Traceback (most recent call last):
  File "C:/Users/Chuck/PycharmProjects/arrayaddition/Arrays.py", line 13, in <module>
    list_addition(['3','6','7'], ['4','9','0'])
  File "C:/Users/Chuck/PycharmProjects/arrayaddition/Arrays.py", line 10, in list_addition
    strinum = int(otlist1)+ int(otlist2)
ValueError: invalid literal for int() with base 10: ''

我显然知道我的代码,即使它确实按所写的那样工作也不完整,因为我仍然需要输入最终代码以将整数变量“strinum”转换回列表,但如果我的代码未能正确添加两个转换后的列表。当我分解代码并分别编写两个 for 循环时,将它们转换为整数并添加它们,一切正常。所以下面的代码很好:

list1=['7','9','6']
otlist1=''
for items1 in list1:
        otlist1+= items1
print(otlist1)


ist1=['5','7','0']
otlist2=''
for items1 in ist1:
        otlist2+= items1
print(otlist2)
print(int(otlist1) + int(otlist2))

但是由于某种原因,当我尝试将两个 for 循环放在一个函数中时,我得到了错误。我是一个完全的编程新手,我想知道我对函数语法不了解的地方。任何帮助将不胜感激。

标签: stringlistfunctiontype-conversion

解决方案


推荐阅读