创建带标题的矩阵并通过调用标题插入值

时间:2015-12-06 06:22:37

标签: python python-3.x

是否可以通过调用column-header和row-headers来创建带头的零矩阵并插入值?例如:

# A B C
d 0 0 0
e 0 0 0
f 0 0 0

我写的是matrix('A', 'd') = 1matrix('B', 'e') = 3并获得

# A B C
d 1 0 0
e 0 3 0
f 0 0 0

当我完成后,我希望能够将其保存到csv。 希望有人可以帮助我,因为我不知道这是否可行。

1 个答案:

答案 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]]