需要制作6x8矩阵。在此矩阵中,需要为矩阵内的各个单元分配值,然后模拟加热/冷却系统。在我到达那里之前,我需要确保这是正确的。这是你如何制作行和列?打印时不显示这种方式是否重要?就像我说的那样,我需要为每个单元格分配值,是否有些已经通过我制作列表的方式具有值?有没有办法让列表没有任何初始值?
matrix = [] # Create an empty list
numberOfRows = 6
numberOfColumns = 8
for row in range(0, numberOfRows):
matrix.append([]) # Add an empty new row
for column in range(0, numberOfColumns):
matrix[row].append(column)
print(matrix)
[[0, 1, 2, 3, 4, 5, 6, 7], [0, 1, 2, 3, 4, 5, 6, 7], [0, 1, 2, 3, 4, 5, 6, 7], [0, 1, 2, 3, 4, 5, 6, 7], [0, 1, 2, 3, 4, 5, 6, 7], [0, 1, 2, 3, 4, 5, 6, 7]]
答案 0 :(得分:3)
是的,这是一个很好的方法。但是,使用列表理解更加容易和更加pythonic:matrix = [list(range(numberOfColumns)) for _ in range(numberOfRows)]
是的,您可以制作一个没有价值的列表:[]
或list()
甚至是二维列表:[[]]
然而,没有用。
答案 1 :(得分:0)
您可以使用这种方式制作2D数组,但需要注意几点:
matrix[row].append(0)
,将元素初始化为0(或-1)。
这主要是一种设计选择。例如,如果在您的程序中,稍后您没有更改每个位置的值,那么您将从初始化中获得旧值。 range(0, numberOfRows)
重写为range(numberOfRows)
;它默认从0开始。