python - 在每次迭代中使用列表中的两个连续值

标签 python

我已经在下面发布了我的部分代码。 Newton() 函数调用 Bezier() 函数。 Bezier() 函数有一个列表,我从中获取 p0 和 p3。我想要做的是,在第一次迭代中,程序应该将 plist 中的第一项和第二项作为 p0 和 p3。然后在第 2 次迭代中,p0 和 p3 是第二项和第三项,依此类推。在每次迭代中,p0 和 p3 值都应该改变。就像新的 p0 是旧的 p3。我无法将其正确放入代码中。谢谢你。

import math

w = 1.0

def Newton(poly):
    """ Returns a root of the polynomial"""
    x = 0.5  # initial guess value
    counter = 0
    epsilon = 0.000000000001
    poly_diff = poly_differentiate(poly)

    while True:
        x_n = x - (float(poly_substitute(poly, x)) / float(poly_substitute(poly_diff, x)))
        counter += 1
        if abs(x_n - x) < epsilon :
            break
        x = x_n
        print "\tIteration " , counter , " : ", x_n

    print "u: ", x_n
    Bezier(x_n)

def Bezier(x_n) :
    """ Calculating sampling points using rational bezier curve equation"""
    u = x_n
    plist = [0.5, 0.1, 0.4, 0.35, 0.8, 0.6, 1.0, 0.2, 0.7, 0.9] # list of parameter values of the phonemes

    for i in range(len(plist) - 1) :
        p0 = plist[i]
        p3 = plist[i + 1] 
        p1 = p0
        p2 = p3
        print p0, p3   
        p_u = math.pow(1 - u, 3) * p0 + 3 * u * math.pow(1 - u, 2) * p1 \
            + 3 * (1 - u) * math.pow(u, 2) * p2 + math.pow(u, 3) * p3
        p_u = p_u * w
        d = math.pow(1 - u, 3) * w + 3 * u * w * math.pow(1 - u, 2) + 3 * (1 - u) * w * math.pow(u, 2) + math.pow(u, 3) * w
        p_u = p_u / d

    print "p(u): ", p_u
    return plist

if __name__ == "__main__" :

最佳答案

>>> p = [1, 2, 3, 4, 5]
>>> for p1, p2 in zip(p, p[1:]):
...     print p1, p2
... 
1 2
2 3
3 4
4 5

有帮助吗?

关于python - 在每次迭代中使用列表中的两个连续值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7108184/

相关文章:

python - 数据框按一列分组并平均一列,同时查找另一列中出现最多的情况

python - 如何用python计算一列中每一行的唯一值?

python - ipython上下箭头奇怪的行为

python "' NoneType'对象没有属性 'encode'“

python - 我如何查看 3 个不同的列以将一个公共(public)数字与另一个数据框的一列匹配以合并数据(如果没有匹配追加)?

python - 我怎样才能自己结束一个循环?

python - 分水岭分割不包括单独的对象?

python - 通过 Python SDK 获取 azure 规模集中所有虚拟机的名称

Python 从字典中删除特定值

python - 这个 Python 语句是什么意思?