以下是工作原理:
data = np.ones(10*10).reshape(10,10)
for i in range(9):
for j in range(i+1,10):
data[i,j]=i*j但以下是一个语法错误:
data = np.ones(10*10).reshape(10,10)
[[ data[i,j] = i *j for j in range(i+1,10)] for i in range(9) ]为什么?
发布于 2020-06-21 10:07:36
这是一个错误b/c,您必须在列表理解内部使用:=赋值。
发布于 2020-06-21 14:45:11
如果你必须为此使用列表理解,你可以考虑设置一个函数。
def fu(i,j): data[i,j]=i*j
[[fu(i,j) for j in range(i+1,10)] for i in range(9) ]https://stackoverflow.com/questions/62493623
复制相似问题