我尝试使用python中的嵌套for循环创建一个列表。该列表需要由多个列表组成,每个列表对应于某个参数的值,并包含该参数的方程结果。运行我的代码会生成一个IndexError
。这是导致问题的代码部分:
T_1 = [[]]
for j in range(len(A_1)):
for i in range(len(y_1)):
T_1[j][i] = T0_1 + ((q0_1 / k_1) * y_1[i]) - ((A_1[j] / (2 * k_1)) * y_1[i]**2)
序列A_1
和y_1
大小不同(y_1
是150长的深度点列表,A_1
是参数A
的不同值的4个字符长的列表)。在
Python列表不会自动增长;寻址不存在的索引是行不通的。通常使用
.append()
来实现:请注意,您不再需要创建索引;您可以直接在
A_1
和y_1
上循环并使用公式中的值。在另一种方法是使用占位符值创建一个空结构;例如
^{pr2}$None
:在这里,我使用^{} 向每个循环添加一个索引;这可以让您的蛋糕和吃掉它;从输入序列及其在序列中的位置访问一个值。在
但是,您的嵌套列表最简单的方法是使用list comprehensions的嵌套集生成:
这里
[expression for variable in iterable]
在循环的每次迭代的左侧执行表达式。A_1
上的外部循环为循环中的每个a
生成一个新列表。这个新列表本身就是一个列表理解,在y_1
上循环并为每个元素生成新的值(您的公式)。在注意,现在我们不再需要生成索引或使用
list.append()
每个循环迭代。列表已经建立好了。在简短回答
参考
^{pr2}$您可以通过列表理解来完成。
在这一点上都不要尝试。
因为你会犯很多错误。在
相关问题 更多 >
编程相关推荐