根据字符串 Python 中的字符在矩阵上查找位置并检索该位置的值

Find position on a matrix and retrieve the value of that position, based on characters on a string Python

我有一个文件,可以认为是数据库或距离矩阵。现在文件是 .cnv .

    J    A    Z    B
J   0    1    3    2
A   1    0    7    3
Z   3    7    0    1
B   2    3    1    0

还有另一个包含字符串的文件。

JBZAJJZA
BBAJJZAB

现在我希望能够从矩阵或数据库中获取与在某个位置进行比较的字符关联的值。例如,根据矩阵,对于每个字符串的第一个字符,JxB 应该是 2。我想要那个号码怎么写?

到目前为止,我所有的尝试都是在脚本上重写矩阵,而不是使用矩阵文件。

我的想法是:在第一行找到与第一个字符串的字符匹配的字符,在第一列找到第二个字符串的字符,然后给出位置Char1 x Char2的值。但是我找不到办法做到这一点。

我正在使用 python。我还没有为矩阵分配数据类型。

如果您阅读本文并有任何 ideas/suggestions,谢谢 :)

您需要找到一种在 python 中加载数据的方法,这将使事情变得容易得多。然后您可以创建一个将字符映射到索引的映射: 例如:

map = {"J": 0, "A": 1, "Z":2 , "B":3}

然后,如果你有两个字符串,假设一个包含你的矩阵的 numpy 数组 m,你可以这样做:

str_a = "JBZAJJZA"
str_b = "BBAJJZAB"

for char_i in str_a:
    for char_j in str_b:
        v = m[map[char_i], map[char_j]]
        print(m)