如何在python中选择要在系列中求和的项

如何在python中选择要在系列中求和的项,python,loops,for-loop,Python,Loops,For Loop,所以我试图在Python2.7.12中对余弦级数中的项求和。假设我想对第一、第三和第五学期求和,但不是第二或第四学期。有没有办法在for循环中指定它?如果可能的话,我希望能够改变我不求和的术语。这是我脚本的一部分,它定义了我要总结的内容。稍后我将在脚本中优化此函数,但我希望能够将某些术语修复为0。就目前情况而言,它只是把所有的i和j相加如果我理解正确,你可以使用如下方法: m = int(raw_input()); def objective(x): # Definining minimi

所以我试图在Python2.7.12中对余弦级数中的项求和。假设我想对第一、第三和第五学期求和,但不是第二或第四学期。有没有办法在for循环中指定它?如果可能的话,我希望能够改变我不求和的术语。这是我脚本的一部分,它定义了我要总结的内容。稍后我将在脚本中优化此函数,但我希望能够将某些术语修复为0。就目前情况而言,它只是把所有的i和j相加

如果我理解正确,你可以使用如下方法:

m = int(raw_input());


def objective(x):  # Definining minimization function
# in function range(1,m) 1 is included and m is excluded. So effectively we go from 1 to m-1.
        first = 0.0
        second = 0.0

        for j in range(1, m):
            term_1 = 1.0
            term_2 = 0.0
            for i in range(1,m):
                term_1 -= 2*(x[i]*math.pow(math.sin(pi*i*j/m),2))
                term_2 += ((x[i])*i* math.sin(2*pi*i*j/m))



            first = first + math.pow(term_1, 2)
            second = second + math.pow(term_2, 2)

        Fmin = first + second
        return Fmin
        asum = 0.0
        for i in range (1,m):
            asum = asum - x[i]

当然有办法。向我们展示您已经尝试过的内容,我们将从中为您提供帮助。列出您要求和并迭代的索引。
sum(terms[::2])
sum([value for index, value in enumerate(data) if index % 2 != 0])