Python - 使用for循环中获得的值来执行计算

时间:2015-03-24 15:09:31

标签: python loops numpy

这是我的程序的一部分:

q = np.array([2,3,3])
a = np.array([6.0,8.0,10.0])
b = np.array([3.0,3.0,5.0])
c= np.array([0,4.0,8.0])

i = range(0,len(a))
j = range(0,len(c))
for x in i:
    for y in j:
        if a[x] > c[y] and a[x] < (c + b)[y]:
            d = b[y] - (c[y] + b[y] - a[x])
            e = d, b[y] - d
            print y, e

这会给我:

1 [ 2.  1.]
2 [ 2.  3.]

然后我想使用这两组值来执行更多的计算,但是当我使用y和e时它只会使用第一组值。我如何使用这两组值?

            q = np.insert(q, np.array(y) + 1, x[y])
            b = list(b)
            b[int(np.array(y)):int(np.array(y) + 1)] = list(e)
            b = np.array(b)
            c = np.insert(c, np.array(y) + 1, d + e[y])
            print q
            print b
            print c

这给了我:

[2 3 3 3] 
[ 0.  4.  6.  8.] 
[ 3.  2.  1.  5.]

我想要的输出:

[2 3 3 3 3]
[ 3. 2. 1. 2. 3.]
[ 0. 4. 6. 8. 10.]

0 个答案:

没有答案