【发布时间】:2018-10-06 14:00:52
【问题描述】:
我有一个元组字典。我匹配字符串中的第一个元组值。如果满足该值,我想将此值以及下一个字符数量添加到基于第二个元组的 a 中,作为列表的单个条目
data = 60806122225212888810
Dict = {'STOP' : ('60', 2), 'ADD' : ('61', 4), 'MUL' : ('52', 0), 'SUB' : ('10', 0), 'START' : ('12', 4)}
我想要的输出是 ['6080', '612222', '52', '128888', '10']`的列表
这是我当前的代码:
while i<len(data):
if data [i:i+2] in Opcodes_Dict[item][0]:
L.append(data[i:i+Opcodes_Dict[item][1]])
i+=Opcodes_Dict[item][1]
else:
L.append(data[i:i+2])
i+=2
print(L)
对不起,如果这很难理解,我很卡住
【问题讨论】:
-
对于所需输出中的第二项,为什么没有
'612222'? -
还有,key值不重要吗?
-
对不起,我确实需要它作为612222,我会重新编辑
-
key无所谓
-
另外,
dict对象没有排序。你的意思是使用orderdict吗?如果没有,您是否希望程序能够回顾?例如,11221133和{'key':('11', 2), 'key2':('11',2)}是否会返回['1122', '1122']或['1122','1133']?
标签: python-3.x list dictionary tuples