我正在实现RNN模型,为此我需要根据以下字典将所有字符转换成整数。
charset={'!',
'#',
'(',
')',
'+',
'-',
'/',
'1',
'2',
'3',
'4',
'=',
'B',
'C',
'E',
'F',
'H',
'I',
'N',
'O',
'P',
'S',
'[',
'\\',
']',
'l',
'r'}
我使用以下方法根据以下字典将charset
转换为整数。
char_to_int = dict((c,i) for i,c in enumerate(charset))
这给了我以下输出。
{'2':0,'F':1,'-':2,'O':3,'1':4,'E':5,'4':6,'!':7,'H':8,'S':9,'/':10,'\':11,'#':12,'l':13,'=':14,'P':15,'C':16,'+':17,'r':18,'B':19,'(':20,')':21,']':22,'3':23,'[':24,'I':25,'N':26}]
现在,我关闭Jupyternotebook,然后再次加载数据,然后再次运行上述两行代码。这次映射不同,如下所示。
{']':0,'\':1,'(':2,'=':3,'!':4,'F':5,'3':6,'S':7,'4':8,'N':9,'+':10,'l':11,'H':12,'E':13,'C':14,'I':15,'-':16,'B':17,')':18,'P':19,'[':20,'r':21,'1':22,'/':23,'2':24,'#':25,'O':26}]
每次再次运行时如何获得一致的char_to_int
。
set
对象在Python中没有顺序。如果将charset
设置为list而不是set,则两次运行之间的结果将保持一致。