Hi,I took a class of python as one of the“side”course〉I am new to python and only learn python via internet/free course so I have no idea or how to.在基于数组的电子表格实现中,我们使用Python列表电子表格是单元格的2D结构,并且每个单元格可以保存不同的数据类型,例如,一般,数字等。对于这个任务,我们将集中在单元格只持有浮点数。因此,要实现一个电子表格,我们将需要实现一个2D数组。2D数组由元组索引例如,如果我们使用数字索引行,使用字母索引列,我们可能会有(10,8)来指定第11行第9列的单元格(我们假设索引从0开始)。
arr = [[0, 0, 9], [0, 1, 2], [0, 2, 2.0], [1, 0, 2], [1, 1, 5], [1, 2, 7], [2, 0, 3], [2, 1, 6]]
w, h = 0, 0
curRow = [];
ssheet = [[0 for x in range(w)] for y in range(h)]
for i in range(0, 3):
print("loop i ", i)
for cell in arr:
print("loop cell", i, cell)
if cell[0] == i:
print(cell)
print(cell[2], end="<-cell2/ currow->")
curRow.append(cell[2])
print(curRow)
ssheet.insert(0, curRow)
print(ssheet, "sheet")
这是我得到的[[9, 2, 2.0, 2, 5, 7, 3, 6]] sheet
这是我尝试过的[[9, 2, 2.0], [2, 5, 7], [3, 6, None?]]
表
1条答案
按热度按时间6vl6ewon1#
你可以按照@Michael Butscher的建议来修复你的代码,另一种方法,在我看来更简单,是用所有的
None
初始化一个2d列表,然后使用多维索引来填充适当的值,下面是方法:如果需要更高的性能,则可以在
arr
上的单次迭代中计算max_row
和max_col
。