Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
[python]:使用func和两个不同维度的列表传递map()时出现问题_Python_Map - Fatal编程技术网

[python]:使用func和两个不同维度的列表传递map()时出现问题

[python]:使用func和两个不同维度的列表传递map()时出现问题,python,map,Python,Map,假设我有一张清单,比如说 lst1 = [1,2,3,4] lst2 = [8,9] 还有另一张单子,比如说 lst1 = [1,2,3,4] lst2 = [8,9] 还有一个func,比如说 func = lambda x,y: x+y 我想做的是生成一个列表,其元素是lst1的元素和lst2的元素之和。 i、 我想用lst1和lst2生成一个lst,lst应该是 [1+8+9, 2+8+9, 3+8+9, 4+8+9]. 如何使用map()执行此操作?您的函数只是添加运算符,因

假设我有一张清单,比如说

lst1 = [1,2,3,4]
lst2 = [8,9]
还有另一张单子,比如说

lst1 = [1,2,3,4]
lst2 = [8,9]
还有一个func,比如说

func = lambda x,y: x+y
我想做的是生成一个列表,其元素是lst1的元素和lst2的元素之和。 i、 我想用lst1和lst2生成一个lst,lst应该是

[1+8+9, 2+8+9, 3+8+9, 4+8+9].

如何使用map()执行此操作?

您的函数只是添加运算符,因此您可以通过以下方式使用运算符模块中的“添加”:

from operator import add
lst = [1,2,3,4]
sLst = [8,9]
map(lambda x: add(x, sum(sLst)), lst)
>>> [18,19,20,21]
使用map是可以的,但通常没有简单的列表理解那么快,而且看起来也很清楚:

from operator import add
lst = [1,2,3,4]
sLst = [8,9]
[add(x, sum(sLst)) for x in lst]
>>> [18,19,20,21]

为什么要使用
map()
?@Synapse:your
func
与这里的任何东西有什么关系?它应该用在什么地方吗?@Gerrat:不,我只是想证明我的问题。