python中的2D查找表创建

时间:2018-07-05 15:38:06

标签: python matrix tuples

如何在python Matrix_Table中创建一个包含查找表值的变量,如下所示: enter image description here

以及如何获得(t1,i4)中存在的对应值?

感谢您的建议

2 个答案:

答案 0 :(得分:0)

您可以这样做:

a = [[1, 5, 7, 8, 3],
     [4, 6, 4, 5, 7],
     [5, 6, 5, 5, 7],
     [4, 7, 2, 7, 2],
     [1, 3, 2, 2, 7],
     [1, 5, 7, 2, 4],
     [1, 6, 4, 2, 1]]

i1 = a[0]
i2 = a[1]
i3 = a[2]
i4 = a[3]
i5 = a[4]
i6 = a[5]
i7 = a[6]




print(i1[4])

这将打印出第一行和第五列,其值为3。

但是请注意,t1 = [0],t2 = [1],t3 = [2],t4 = [3],t5 = [4]。我将所有i1,i2,i3等值都设置为它们的行值,但是必须使用[0],[1],[2]来找到它们各自的列。

答案 1 :(得分:0)

出于非常简单的目的,您可以使用内置地图存储2D表:

class Matrix_Table:
    def __init__(self):
        self.__data = {}

    def __getitem__(self, idx):
        try:
            return self.__data[idx]
        except KeyError:
            return 0

    def __setitem__(self, idx, value):
        self.__data[idx] = value

    def __len__(self):
        return len(self.__data.items())

m = Matrix_Table()
m[1, 2] = 10
m[2, 3] = 20
print(m[1, 2])  # prints 10
print(m[1, 1])  # prints 0
print(len(m))   # prints 2