通过函数,如何将计算添加到列表?

问题描述

从此功能开始:

def abs_approx(x,N):  
    sigma=0
    for n in range(1,N+1):
        num=cos((2*n-1)*x)
        denom=(2*n-1)**2
        sigma+=num/denom  
        f= (pi/2) - (4/pi*(sigma))   
    return f

我如何将f的计算结果添加到列表中,例如,我想使用范围1到5的x值,而对N则使用相同的值,那么我该如何将这些计算最后添加到列表中呢?打印出来吗?

解决方法

如果您不想过多地编辑代码,建议您使用generator expressions

def abs_approx(x,N):  
    sigma=0
    for n in range(1,N+1):
        num=cos((2*n-1)*x)
        denom=(2*n-1)**2
        sigma+=num/denom  
        f= (pi/2) - (4/pi*(sigma))   
        yield f

result = abs_approx(2,5)

print(list(result))
,

要将计算结果附加到函数中的列表中,可以执行以下操作:

def abs_approx(x,N):  
    sigma=0
    f = []
    for n in range(1,N+1):
        num=cos((2*n-1)*x)
        denom=(2*n-1)**2
        sigma+=num/denom  
        f.append((pi/2) - (4/pi*(sigma)))   
    return f