马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
以下是我写的关于一个二元矩阵列表生成的,但是最运行矩阵的所有行都会被循环最后的temp覆盖。
i=int(input("请输入矩阵的行数:"))
j=int(input("请输入矩阵的列数:"))
temp=[0]*j
matrix=[0]*i
for a in range(i):
for b in range(j):
temp[b]=a*j+b
print(temp)
matrix[a]=temp
print(matrix)
比如运行后是这样的:
请输入矩阵的行数:5
请输入矩阵的列数:6
[0, 1, 2, 3, 4, 5]
[6, 7, 8, 9, 10, 11]
[12, 13, 14, 15, 16, 17]
[18, 19, 20, 21, 22, 23]
[24, 25, 26, 27, 28, 29]
[[24, 25, 26, 27, 28, 29], [24, 25, 26, 27, 28, 29], [24, 25, 26, 27, 28, 29], [24, 25, 26, 27, 28, 29], [24, 25, 26, 27, 28, 29]]
其实我的目标是最后应该输出[[0, 1, 2, 3, 4, 5],[6, 7, 8, 9, 10, 11],[12, 13, 14, 15, 16, 17],[18, 19, 20, 21, 22, 23],[24, 25, 26, 27, 28, 29]]
不用这么麻烦,我来教你一行代码搞定
- i = int(input("矩阵行数"))
- j = int(input("矩阵列数"))
- a1 = [[j*lie+hang for hang in range(j)] for lie in range(i)]
- # a1 = np.array([[j for j in range(3)] for i in range(3)])
- print(a1)
复制代码
|