在Python中,可以使用嵌套列表创建矩阵 . 例如,[[1,2],[3,4]] . 下面我写了一个函数,提示用户输入方阵的尺寸,然后提示用户输入for循环中的值 . 我有一个临时存储一行值的tempArray变量,然后在将其附加到矩阵数组后删除 . 出于某种原因,当我在最后打印矩阵时,这就是我得到的:[[],[]] . 出了什么问题?
def proj11_1_a():
n = eval(input("Enter the size of the square matrix: "))
matrix = []
tempArray = []
for i in range(1, (n**2) + 1):
val = eval(input("Enter a value to go into the matrix: "))
if i % n == 0:
tempArray.append(val)
matrix.append(tempArray)
del tempArray[:]
else:
tempArray.append(val)
print(matrix)
proj11_1_a()
2 回答
你只需删除数组元素
del tempArray[:]
,因为列表是 mutable 它也清除部分matrix
哪个可以进一步简化/清除
另一种解决方案是更改以下行:
至: