2.3 二维数组
二维数组(two-dimensional array):将数据按行和列组织,类似于表格和网格。
2.3.1 二维数组ADT
二维数组ADT包含的方法与一维数组的有些类似:
- Array2D(nrows, ncols):创建二维数组,行数和列数分别是nrows和ncols,并将所有元素初始化为None;
- numRows():返回二维数组的行数;
- numCols():返回二维数组的列数;
- clear(value):将二维数组的所有元素都设定为value;
- getitem(i, j):返回二维数组中行数为i,列数为j的元素,其中(i, j)是以一个二元元组的参数传入;
- setitem(i, j, value):将二维数组中行数为i,列数为j的元素,重新设定为value。
#-*-coding: utf-8-*-
# 用二维数组储存学生考试成绩,并计算每位学生的平均成绩
from myarray2d import Array2D
gradeFile = open(filename, 'r')
numExams = int(gradeFile.readline())
numStudents = int(gradeFile.readline())
examGrades = Array2D(numStudents, numExams)
i = 0
for student in gradeFile:
g