使用两个不同的列表应用公式

Sta*_*agg 4 python math list formula python-2.7

我有两个这样的列表:

listA = [51, 988, 1336, 2067, 1857, 3160]
listB = [1, 2, 3, 4, 5, 6]
Run Code Online (Sandbox Code Playgroud)

我必须在列表中应用此公式:

n / pi * ((x*0.1)+1)**2 - pi * (x*0.1)**2
Run Code Online (Sandbox Code Playgroud)

'n'是listA的元素,'x'是与listB中'n'的相同索引对应的元素.

我需要将此公式应用于两个列表中的所有元素.因此,当循环第一次运行时,它需要执行此操作:

51/pi*((1*0.1)+1)**2 - pi *(1*0.1)**2
Run Code Online (Sandbox Code Playgroud)

对于第二个,它需要这样做:

988/pi*((2*0.1)+1)**2 - pi*(2*0.1)**2
Run Code Online (Sandbox Code Playgroud)

并重复直到两个列表的结尾.

我知道我必须使用'for'循环,但我的问题是我不知道如何从第二个列表中获取元素.我正在尝试这样做:

for n in listA:
   n/pi*((......))
Run Code Online (Sandbox Code Playgroud)

在括号内,它应该是listB中的元素,但我不知道如何获取它们,并且它们需要与listA中的元素具有相同的索引.输出应该是第三个列表,其中应用了每个公式的结果.

我试图以最好的方式解释自己,但如果你不理解我的问题,请随意提出任何问题.

提前致谢.

YOB*_*OBA 5

我假设两个列表始终具有相同的大小,大多数pythonic方式是使用lambda和list comprehensions:

listA = [51, 988, 1336, 2067, 1857, 3160]
listB = [1, 2, 3, 4, 5, 6]

from math import pi

formula = lambda n,x: n / pi * ((x*0.1)+1)**2 - pi * (x*0.1)**2

res = [ formula(a,b) for a,b in zip(listA,listB) ]

>> [19.621466242038217,
 452.96994140127384,
 718.7747248407644,
 1289.7268993630569,
 1329.8678662420382,
 2575.175332484077]
Run Code Online (Sandbox Code Playgroud)