gpt4 book ai didi

python - 在循环初始化的内联中引用一个列表?

转载 作者:太空宇宙 更新时间:2023-11-04 07:43:04 26 4
gpt4 key购买 nike

我希望能够写出这样的东西:

x = [0]
x = [x[i-1] for i in range(1,10)]

我知道这个例子没有任何意义。但我想知道是否可以使用以前计算的值,同时以这种方式初始化列表。 (也许是某种 lambda 表达式)

这是我需要的实际代码:

x = [(b[i] - sum([(a[i][j] * x[j]) for j in range(i)])) / a[i][i] for i in range(n)]

这当然会产生以下错误:

UnboundLocalError: local variable 'x' referenced before assignment

我知道有这种方法:

x = []
for i in range(n):
x.append((b[i] - sum([(a[i][j] * x[j]) for j in range(i)])) / a[i][i])

但我真的很想知道第一个是否可行。

最佳答案

即使有可能,我认为您也不应该尝试这样做。 “冗长”的三行解决方案已经相当复杂,因为嵌套列表理解甚至不是该行的外部部分。你里面还有一笔钱。

实际上,我什至会把它拆分得更多,以便像这样分别理解列表:

x = []
for i in range(n):
k = sum(a[i][j] * x[j] for j in range(i))
x.append((b[i] - k) / a[i][i])

我相信有可能进一步简化它,但是如果没有任何关于它实际作用的上下文,也没有 a 的示例数据,就很难通过这样看它来判断, bn

关于python - 在循环初始化的内联中引用一个列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15223594/

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