求助一个循环问题
以下是我写的关于一个二元矩阵列表生成的,但是最运行矩阵的所有行都会被循环最后的temp覆盖。i=int(input("请输入矩阵的行数:"))
j=int(input("请输入矩阵的列数:"))
temp=*j
matrix=*i
for a in range(i):
for b in range(j):
temp=a*j+b
print(temp)
matrix=temp
print(matrix)
比如运行后是这样的:
请输入矩阵的行数:5
请输入矩阵的列数:6
[, , , , ]
其实我的目标是最后应该输出[,,,,] 本帖最后由 xiaosi4081 于 2021-6-24 17:58 编辑
可以直接定义一个空列表,再用append方法将值加入列表
注:每次执行外面这层循环时要把temp清空
i=int(input("请输入矩阵的行数:"))
j=int(input("请输入矩阵的列数:"))
temp = []
matrix = []
for a in range(i):
temp = []
for b in range(j):
temp.append(a*j+b)
matrix.append(temp)
print(matrix)
我满足了你的要求,但是跟你的逻辑完全不一样啊。
i=int(input("请输入矩阵的行数:"))
j=int(input("请输入矩阵的列数:"))
number = 0
result = []
for a in range(j):
result.append([])
for b in range(i):
result.append(number)
number += 1
print(result) i=int(input("请输入矩阵的行数:"))
j=int(input("请输入矩阵的列数:"))
matrix=[]
for a in range(i):
temp = []
for b in range(j):
temp.append(a*j+b)
print(temp)
matrix.append(temp)
print(matrix)
你这是列表浅拷贝,深拷贝的问题,具体自己去搜一搜 xiaosi4081 发表于 2021-6-24 17:43
可以直接定义一个空列表,再用append方法将值加入列表
注:每次执行外面这层循环时要把temp清空
还是你的方法好 不用这么麻烦,我来教你一行代码搞定{:10_313:}
i = int(input("矩阵行数"))
j = int(input("矩阵列数"))
a1 = [ for lie in range(i)]
# a1 = np.array([ for i in range(3)])
print(a1) {:5_95:}
页:
[1]