我是一个python N00b,我正在尝试将此工作函数转换为列表理解:
def sums_lists(list1, list2)
try:
sums_list = []
for index in range(14):
sums_list.append(list1[index]+list2[index])
except:
pass
上面的代码有效,但当我将其转换为列表理解格式时,如下所示:
sums_list = [(list1[index]+list2[index])for index in range(14)]
它返回错误Unsupported operand type(s) for + int and str
与其合作的数据是个人数据记录,地址,工作,收入等,所以整数和数据。
我不明白为什么它在try except循环中起作用而不是理解?
答案 0 :(得分:0)
单个除外,将阻止任何除非被提出。
要修复您的代码,请尝试以下操作:
sums_list = [(int(list1[index]) + int(list2[index])) for index in range(14)]
或
sums_list = [(str(list1[index]) + str(list2[index])) for index in range(14)]
可能其中一个列表有一个字符串而不是整数,而字符串和整数不能通过+ operator
连接