在两个列表中包含参数的函数

2024-06-23 19:32:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个列表xscat和yscat。我希望列表理解分别在xscat和yscat中选择x和y。结果列表应包含peaks([x[0], y[0]]), peaks([x[1], y[1]])

xscat=yscat=[-1, -1.5,5]
[peaks([x,y]) for x,y in xscat,yscat]

你能用理解找到解决办法吗?或者其他的方法来放置它(地图)?


Tags: 方法in列表for地图peaks解决办法yscat
3条回答

我从您的示例中假设您想使用zip(),但是,如果您真正想做的是遍历xscat和yscat的所有可能组合,那么您还有更多的工作要做。。。

所以,如果你想(xscat[0],yscat[0]),(xscat[0],yscat[1]),(xscat[0],yscat[2]),等等。。。你可以先做一个嵌套的理解:

((x,y) for x in xscat for y in yscat)

将生成所有对

[peaks(x,y) for x in xscat for y in yscat]

如果你想要所有的排列,就应该给出解决方案。

另外,请注意zip/map-如果列表(xscat和yscat)的长度不同,您将得到不同的结果-请确保选择产生所需解决方案的列表。

zip是您想要的:

[peaks([x,y]) for x,y in zip(xscat,yscat)]

您需要使用zip

[peaks([x,y]) for (x,y) in zip(xscat, yscat)]

相关问题 更多 >

    热门问题