我使用这个程序的目的是得到一个具有特定值的4x4矩阵,但是由于某种原因,循环将所有内容放在同一行/列中。。。我的密码怎么了?
def matrixH0(k):
H0=[]
print H0
for m in range (0,k):
for n in range (0,k):
if abs(m-n)==1:
H0.append(math.sqrt(n+m+1)/2.)
else:
H0.append(0)
print H0
这是我的输出:
[0,
0.7071067811865476,
0,
0,
0.7071067811865476,
0,
1.0,
0,
0,
1.0,
0,
1.224744871391589,
0,
0,
1.224744871391589,
0]
在第一个循环中初始化处的行,并将数字追加到第一个循环索引下的数组中
将行附加到
H0
,将值附加到行:收益率
顺便说一下,
matrixH0
也可以使用嵌套的list comprehensions编写:您永远不会在代码中创建多维数组,只需附加到单个列表。下面是一个解决方案:
相关问题 更多 >
编程相关推荐