在python中迭代两个整数列表?
我正在编写一个函数来生成表达式 给出了两个列表:在python中迭代两个整数列表?,python,list,Python,List,我正在编写一个函数来生成表达式 给出了两个列表:Xs和Ys,因此x我编写了以下算法: #!/usr/bin/env python #coding: utf8 from sympy import * from numpy import * import json L = {} x = Symbol('x') expresion = '' def lagrange(Xs, Ys, x): for k in len(Xs): if k != 0 or k != len(
Xs
和Ys
,因此x
我编写了以下算法:
#!/usr/bin/env python
#coding: utf8
from sympy import *
from numpy import *
import json
L = {}
x = Symbol('x')
expresion = ''
def lagrange(Xs, Ys, x):
for k in len(Xs):
if k != 0 or k != len(Xs)-1: #si no es el primero o el último término de la sumatoria
expresion = expresion + '+' + Ys[k] + '*'
elif k==0:
expresion = expresion + Ys[k] + '*'
for i in len(Xs):
if k==i:
continue # Si i==k saltamos esta iteración para eliminar división sobre cero
expresion = expresion + '(' + '(' + x + '-' + Xs[i] +' )' + '/' + '(' + Xs[k] + '-' + Xs[i] + ')' +')'
print simpify(expresion)
当我跑步时:
#!/usr/bin/env python
#coding: utf8
from lagrange import *
lagrange([0,1,2,4],[-1,0,7,4,63],3)
我得到:
[......]line 12, in lagrange
for k in len(Xs):
TypeError: 'int' object is not iterable
[Finished in 0.5s with exit code 1]
那么,我应该如何迭代Xs
和Ys
元素,从而包含这样一个条件,即如果I=k
它将在循环中继续
for k in range(len(Xs))
将在Xs中为您提供所有可能的标记
len(Xs)
只返回一个不可编辑的int
。您可能希望对i
循环执行相同的操作。对于范围内的k(len(Xs))
?您不需要自己实现它,它已经完成了:。