列表理解等效于并行两个列表上的映射

时间:2016-12-25 23:16:42

标签: python python-3.x functional-programming list-comprehension

我理解一个列表参数$.ajax({ type: "POST", url: "http://your.url.com", data: {your: data}, success: function() { // Executes on successful call }, }); 可以用列表推导替换。例如

map()

可以替换为

map(lambda x : x**2, range(5))

现在,我将如何为两个并行列表执行类似操作。换句话说,我有一行代码具有以下模式:

[x**2 for x in range(5)]

其中map(func, xs, ys) 有两个参数。

如何使用列表推导来做同样的事情?

1 个答案:

答案 0 :(得分:12)

带有多个参数的

vector相当于在这些额外参数上使用zip() function。在列表推导中使用map()也可以这样做:

zip()

一般来说,任何[func(x, y) for x, y in zip(xs, ys)] 表达式都可以转换为map(func, a1, a2, .., an)的列表理解。