1 回答
TA贡献1859条经验 获得超6个赞
您可以迭代键 1,2 .. N for e in my:,然后借助set()差异计算排除:
并提取这样的东西
exc = set(['A','B','C']) - set(my[e]["exclude"].split(",") if len(my[e]["exclude"].split(",")) else [] )
接下来你可以取值out1orout2取决于outputas的值
my[e][my[e]["output"]]
在新字典中插入为
newdict[e] = {'exclude': list(exc) ,'EndOutput':my[e][my[e]["output"]]}
总的来说,这就是您可以迭代的方式
newdict = {}
for e in my:
if my[e]['column'].lower() == 'value':
exc = set(['A','B','C']) - set(my[e]["exclude"].split(",") if len(my[e]["exclude"].split(",")) else [] )
newdict[e] = {'exclude': list(exc) ,'EndOutput':my[e][my[e]["output"]]}
打印 newdict 将产生此输出
'1': {'EndOutput': 'Cost', 'exclude': ['C'] },
'2': {'EndOutput': 'Rev', 'exclude': ['A', 'B', 'C'] }}
添加回答
举报