哪个更快?Python中的强制转换和减法或dict查找

哪个更快?Python中的强制转换和减法或dict查找,python,dictionary,markov,Python,Dictionary,Markov,因此,为了好玩,我决定重温我以前的一份大学作业,其中一篇密文大约有75个字符,还有一张婴儿床,上面有三个字母(我老师的缩写)的签名 我所做的: 把结果限制在那些有部分或全部婴儿床的人身上 然后我开始对(1)中较小的结果子集进行字母频率分析 现在的任务归结为编写一些语言识别软件,但是有几个问题需要首先解决。我选择强制所有转子设置(类型、初始位置) 因此,包含部分或全部婴儿床的结果条目仍然有一些从插件板交换的字母 我知道我的下一步应该是制作两个矩阵,消化一个语料库,在第一个矩阵中,我只需要做一个计数

因此,为了好玩,我决定重温我以前的一份大学作业,其中一篇密文大约有75个字符,还有一张婴儿床,上面有三个字母(我老师的缩写)的签名

我所做的:

  • 把结果限制在那些有部分或全部婴儿床的人身上
  • 然后我开始对(1)中较小的结果子集进行字母频率分析
  • 现在的任务归结为编写一些语言识别软件,但是有几个问题需要首先解决。我选择强制所有转子设置(类型、初始位置) 因此,包含部分或全部婴儿床的结果条目仍然有一些从插件板交换的字母

    我知道我的下一步应该是制作两个矩阵,消化一个语料库,在第一个矩阵中,我只需要做一个计数,所以如果第一个字母是a,在第一个矩阵中,我将在第0行,我将增加的列将是紧跟在a后面的字母,假设是a B。然后我会移到B,看到下一个字母是a U,所以我会转到B行,增加U列的条目。在消化了整个语料库之后,我会将概率放入第二个矩阵中

    使用第二个矩阵,我可以为整个句子分配分数值,并有一种对输出进行评分并进一步缩小结果的方法,因此找到消息应该很容易,就像在更小的草堆中找到一个大头针一样

    现在我在python中做这件事,我想知道是否最好将字符转换为int,对最小的字符“a”进行减法,然后将其用作索引,或者是否应该使用dict,每个字母都对应一个int值,因此在矩阵中查找位置的索引类似于
    letterly[dict][A'][dict['B']]

    强制转换减法如下所示:

    firstChar = 'A'
    secondChar = 'B'
    
    LetterTalley[(ord(firstChar)-ord('A'))][(ord(secondChar)-ord('A'))]
    

    <>这两种不同的方法,这会更快吗?

    < p>而不是建立一个矩阵,你是否考虑了一个DICT的字典,以便你可以查找(<代码>字母表[a′] [′b′] < /代码>)直接?

    为什么不自己测量它呢?Python为此提供了一个方便的模块。我甚至没有想到这一点。我将对此进行深入研究。尽管如此,问题仍然是,强制转换和减法还是进行dict查找更好?事后想一想……数组查找不是比dict查找更快吗?