将列表等同于另一个列表的功能

时间:2015-03-26 12:10:37

标签: python

目前,我有一段代码,其中有许多列表等于另一个列表的功能,嵌入在Python的循环中:

Power = [x,y,z]
Force = []
for i in range(len(Power)):
    Force.append(((function(Power[i])-0.5))/slope)

我想将其简化为:

Force = function(Power[i])-0.5))/slope)

但它不起作用。然而,当它没有功能,只是一个简单的关系时,它确实有效。这在Python中是否可行?

2 个答案:

答案 0 :(得分:3)

您可以使用列表理解:

Force = [(function(x)-0.5)/slope for x in Power]

答案 1 :(得分:1)

据我所知,最简洁/最简单的方法是通过列表理解,特别是你可以做如下的事情:

Force = [(function(Power[i])-0.5)/slope for i in range(len(Power))]

非常类似于你之前已经做过的事情,但它有一个漂亮而简单的单行表达式。