使用字典创建N维矩阵 - python 2.7

时间:2015-06-17 08:17:41

标签: python python-2.7

我想知道如何创建N大小矩阵,其中矩阵的索引将是字典中的键。 我假设python有选项支持这个矩阵,至少在每个键的值是逻辑无符号int数(或掩盖成一个)的情况下我将有权访问矩阵中的任何单元格 通过使用dict [key]而不是索引。

2 个答案:

答案 0 :(得分:0)

以下示例应该有帮助,它会创建一个大小为2×3的二维矩阵:

d = {
    0: {0: 'a', 1: 'b', 2: 'c'},
    1: {0: 'd', 1: 'e', 2: 'f'},
}
from pprint import pprint
pprint(d)

# Using keys as indices
print d[1][2]

# output
{0: {0: 'a', 1: 'b', 2: 'c'}, 1: {0: 'd', 1: 'e', 2: 'f'}}
f

答案 1 :(得分:0)

我将如何做到这一点:

def showMatrixForm(matrix):
    matshape=""
    for row in range(1,matrix["rows"]+1):
        for column in range(1,matrix["columns"]+1):
            spaces=5-len(str(matrix[str(row)+","+str(column)]))
            matshape+="".join([" " for space in range(spaces)])+str(matrix[str(row)+","+str(column)])
        matshape+="\n"
    return matshape



matrix={}

rows=10
columns=10

matrix["rows"]=rows
matrix["columns"]=columns

i=0
for row in range(1,rows+1):
    for column in range(1,columns+1):
        i+=1
        matrix[str(row)+","+str(column)]=i

print(showMatrixForm(matrix))
'''
    1    2    3    4    5    6    7    8    9   10
   11   12   13   14   15   16   17   18   19   20
   21   22   23   24   25   26   27   28   29   30
   31   32   33   34   35   36   37   38   39   40
   41   42   43   44   45   46   47   48   49   50
   51   52   53   54   55   56   57   58   59   60
   61   62   63   64   65   66   67   68   69   70
   71   72   73   74   75   76   77   78   79   80
   81   82   83   84   85   86   87   88   89   90
   91   92   93   94   95   96   97   98   99  100
'''

print(matrix["1,2"],matrix["8,4"],matrix["5,7"])
'''
(2, 74, 47)
'''

我希望这会对你有所帮助。