TypeError:'int'对象不可迭代。在函数中使用map()时发生Python错误

问题描述 投票:-2回答:3

我正在尝试学习在列表中添加相应元素的不同方法。目前停留在这里,当我不使用函数时,代码会很有趣。协助?

from operator import add
#Setting up the lists
matrix_a = [23,1,4,8]
matrix_b = [3,11,3,2]

def add(in_list1,in_list2):
   final_list = list(map(add, in_list1, in_list2))

   return final_list

matrix_c = add(matrix_a,matrix_b)
print(matrix_c)
python dictionary iterable
3个回答
1
投票

您在这里有两个add函数,一个是从操作员导入的,另一个是您自己创建的,将def add更改为诸如def add2的其他名称,并适当地更改了函数调用。


0
投票

add以外的其他名称命名。您已经覆盖了从add导入的名称operator,因此add中的list(map(add, in_list1, in_list2))引用了您自己的功能。


0
投票

更改功能名称和列表创建:

matrix_a = [23,1,4,8]
matrix_b = [3,11,3,2]

def sum(in_list1,in_list2):
    return[*map(lambda x, y: x +y, in_list1, in_list2)]

print(sum(matrix_a,matrix_b))
© www.soinside.com 2019 - 2024. All rights reserved.