【发布时间】:2021-05-09 16:53:21
【问题描述】:
我必须将嵌套的 for 循环转换为列表理解:
H = cvxopt.matrix(0.0, (rows, rows), tc='d')
for i in range(rows):
for j in range(rows):
H[i, j] = t[i] * t[j] * kf(X[i], X[j], param)
我试过这个:
H = [t[i] * t[j] * kf(X[i], X[j], param) for H[i, j] in H]
但这给了我一个错误i not defined。
【问题讨论】:
-
我认为您不能使用列表推导来构建
cvxopt.matrix。 -
你可以用
H = [t[i] * t[j] * kf(X[i], X[j], param) for i in range(rows) for j in range(rows)]建立一个列表,但它不会和你的for循环做同样的事情。
标签: python list list-comprehension