您将4个不同“数字”的字符串解释为数字,因此以4为基数.如果您有一串实际数字,范围为0-3,则可以让int()真正快速地生成一个整数.
def seq_to_int(seq, _m=str.maketrans...seq.translate(_m), 4)
上面的函数使用str.translate()用匹配的数字替换4个字符中的每个字符(我使用静态str.maketrans() function创建转换表).然后将所得的数字字符串解释为以...请注意,这将生成一个整数对象,而不是零和一个字符的二进制字符串:
>>> seq_to_int(‘TGTGAGAAGCACCATAAAAGGCGTTGTG’)
67026852874722286
>>>...064b’)
‘0000000011101110001000001001000101001100000000101001101111101110’
这里不需要填充;只要您的输入序列为32个字母或更少,则结果整数将适合无符号...8字节整数表示形式.在上面的输出示例中,我使用format()字符串分别将该整数值格式化为十六进制和二进制字符串,然后将这些表示形式零填充到64位数字的正确位数.