0

我正在尝试使用该map函数映射到两个单独的数组。基本上在for循环语法中,

for exp in expiration:
   for symb in symbol:
         f(exp,symb)

我目前在我的代码中有:

map(expiration, lambda exp: map(symbol, f(exp,symbol) )

但我得到的错误是第二个参数map()必须支持迭代。

提前致谢!

4

3 回答 3

2

您可以使用嵌套列表推导而不是map

result = [ f(exp, symb) for exp in expiration for symb in symbol ]

我认为这更容易阅读和理解。

但是,如果您不需要列表理解的结果,我只会使用您原来的方法,因为您创建了一个不必要的列表。

于 2013-11-07T18:17:14.737 回答
1

我相信你弄错了论点,迭代应该lambda 之后:

map(lambda exp: map(symbol, f(exp,symbol), expiration)
于 2013-11-07T18:25:49.450 回答
1

您在地图功能中有错误。第一个参数是函数,第二个是可迭代的。

map(lambda e: map(lambda s: f(e,s), symbol),expiration)
于 2013-11-07T18:31:21.757 回答