gpt4 book ai didi

python - 生成列表元素产品的序列

转载 作者:太空宇宙 更新时间:2023-11-03 18:30:47 26 4
gpt4 key购买 nike

使用sympy,让我们说一个列表:

xs=[-2,-1,1,2]

我需要得到:

[(x-x_0),(x-x_0)*(x-x_1),(x-x_0)*(x-x_1)*(x-x_2),...(x-x_0)*(x-x_1)*(x-x_2)...*(x-x_n)]

对于我的列表 xs,这将是:

[(x+2),(x+2)*(x+1),(x+2)*(x+1)*(x-1),(x+2)*(x+1)*(x-1)*(x-2)]

我已经尝试过:

terminos = []
def lag_l(xx):
x = Symbol("x")
for x_i in xx:
x__i = ((x-x_i) * prod(t) for t in terminos)
terminos.append((x-x_i))
print terminos[::-1]

所以:

lag_l([-2,-1,1,2])

但这只是打印相同的内容。我做错了什么?

最佳答案

def product_sequence(xs):
x = Symbol('x')
y = 1
res = []
for item in xs:
y *= x - item
res.append(y)
return res

或者,使用yield更优雅:

def product_gen(xs):
x = Symbol('x')
y = 1
for item in xs:
y *= x - item
yield y

res = list(product_gen(xs))

关于python - 生成列表元素产品的序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22414447/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com