【发布时间】:2017-05-28 05:52:05
【问题描述】:
我在优化以下 for 循环时遇到了一些麻烦。我研究了 map 函数、理解表达式以及一些 itertools 和生成器,但不确定如何优化嵌套循环。非常感谢任何帮助或建议。提前致谢!
注意对象架构是:
self.variables.parameters.index1/index2/value
self.variables.rate
self.state.num
循环 1:
mat1 = np.zeros(m, n)
for idx, variable in enumerate(self.variables):
for parameter in variable.parameters:
tracking_idx = parameter.index1 + parameter.index2
mat1[tracking_idx, idx] = parameter.value
循环 2:
mat2 = []
for variable in self.variables:
rate = variable.rate
for parameter in variable.parameters:
if parameter.value < 0 and self.state.num[parameter.index1, parameter.index2] <= 0:
rate = 0
mat2.append(rate)
【问题讨论】:
-
对于第二个循环,如果您有大量参数,在 rate = 0 语句后添加一个中断可能会有所帮助,因为它会停止检查其他参数
标签: python numpy for-loop optimization nested