是否可以通过调用column-header和row-headers来创建带头的零矩阵并插入值?例如:
# A B C
d 0 0 0
e 0 0 0
f 0 0 0
我写的是matrix('A', 'd') = 1
和matrix('B', 'e') = 3
并获得
# A B C
d 1 0 0
e 0 3 0
f 0 0 0
当我完成后,我希望能够将其保存到csv。 希望有人可以帮助我,因为我不知道这是否可行。
答案 0 :(得分:0)
这将接近你的需要:
rows = dict((x,y) for y,x in enumerate('ABC')) # rows' headers
cols = dict((x,y) for y,x in enumerate('def')) # cols' headers
len_cols = 3
len_rows = 3
matrix = [[0 for i in range(len_cols)] for j in range(len_rows)]
def update(row, col, val):
matrix[rows[row]][cols[col]] = val
<强>的示例:强>
>>> cols = dict((x,y) for y,x in enumerate('de'))
>>> rows = dict((x,y) for y,x in enumerate('ABCD'))
>>> len_cols = 2
>>> len_rows = 4
>>> matrix = [[0 for i in range(len_cols)] for j in range(len_rows)]
>>> update('B','e',1)
>>> update('D','d',3)
>>> matrix
[[0, 0], [0, 1], [0, 0], [3, 0]]