我正在尝试将一个列表拆分为一个包含多个键和相应值的字典。我不确定这是否可能。但基本上,我试图解析一个列表,并基于某些条件,我想把下面的项放入它们各自的键中
输入列表:
inputlist = ['example line begin','C40 D50','H4000 J30','; condition
1','E40 R50','G009 J56798','RFG50 F400','; condition 2','BG3400
F5600','C40 DH4000 J3F0','C40 D50','; condition 1','T40 R50','G009
J56798','RFG50 F400','condition3....]
预期输出字典:
newDict = {'condition1':['E40 R50','G009 J56798','RFG50
F400'],'condition2':['BG3400 F5600','C40 DH4000 J3F0','C40 D50'],
'condition3':['........}
我还想存储未使用的初始部分。我不知道如何处理这个问题,因为我觉得我需要设置多个标志来打开/关闭
以下是我迄今为止所做的尝试:
ozpattern = re.compile(r";\scondtion1")
outerpattern = re.compile(r";\scondition2")
ozFlag = False
outerFlag = False
for line in inputlist:
ozmatch = ozpattern.search(line)
outermatch = outerpattern.search(line)
if ozmatch:
ozFlag = True
ozKey = ''.join(ozmatch[2:].split(' '))
outerFlag = False
if ozFlag == True:
newDict[ozKey].append(line)
if outermatch:
outerKey = ''.join(outertempmatch[2:].split(' '))
ozFlag = False
outerFlag = True
continue
if outertempmatch:
newDict[outerKey].append(line)
但我被困在这里,因为我需要为这里的几个不同的条件设置标志,这可能会变得乏味。你知道吗
这将输出:
相关问题 更多 >
编程相关推荐