Python 转换具有不同值的有序字典

Python 转换具有不同值的有序字典,python,Python,我有一个有序字典,如果键的值是一个列表,我需要创建一个字典列表,使用列表中的所有值,如下所示 dee= OrderedDict([('b', [1,9]), ('a', ['{}','{}'])]) eee=[OrderedDict([('b', 1),('a',{})]),OrderedDict([('b', 9),('a',{})])] 现在,我如何递归地进入字典(如ab)并创建一个列表,其中包含具有相同键和不同值的字典 ab=OrderedDict([('part', ['8888822

我有一个有序字典,如果键的值是一个列表,我需要创建一个字典列表,使用列表中的所有值,如下所示

dee= OrderedDict([('b', [1,9]), ('a', ['{}','{}'])])
eee=[OrderedDict([('b', 1),('a',{})]),OrderedDict([('b', 9),('a',{})])]
现在,我如何递归地进入字典(如ab)并创建一个列表,其中包含具有相同键和不同值的字典

ab=OrderedDict([('part', ['8888822701B', '8889012006B', '8889012013B', '8889012014B', '8889012016C', '8889012019B', '8889012020C', '8889012021D', '8889012022B']), ('file', ['0', '1', '2', '3', '4', '5', '6', '7', '8']), ('estimatedtime', ['100', ' 100', ' 100', ' 100', ' 100', ' 100', ' 100', ' 100', ' 100']), ('signature', ['{}', '{}', '{}', '{}', '{}', '{}', '{}', '{}', '{}']), ('otherpartsignature', ['{}', '{}', '{}', '{}', '{}', '{}', '{}', '{}', '{}'])])

您可以迭代所有键,并在处理的第一个键上创建新的有序dict,随后的键添加到先前创建的dict中

对于每个键,您迭代所有值,并将它们放入添加到列表中的单个有序dict中(只要输入值列表中的数据量相同,此操作就有效):

输出:

[OrderedDict([('part', '8888822701B'), ('file', '0'), ('estimatedtime', '100'), ('signature', '{}'), ('otherpartsignature', '{}')]), 
 OrderedDict([('part', '8889012006B'), ('file', '1'), ('estimatedtime', ' 100'), ('signature', '{}'), ('otherpartsignature', '{}')]), 
 OrderedDict([('part', '8889012013B'), ('file', '2'), ('estimatedtime', ' 100'), ('signature', '{}'), ('otherpartsignature', '{}')]), 
 OrderedDict([('part', '8889012014B'), ('file', '3'), ('estimatedtime', ' 100'), ('signature', '{}'), ('otherpartsignature', '{}')]), 
 OrderedDict([('part', '8889012016C'), ('file', '4'), ('estimatedtime', ' 100'), ('signature', '{}'), ('otherpartsignature', '{}')]), 
 OrderedDict([('part', '8889012019B'), ('file', '5'), ('estimatedtime', ' 100'), ('signature', '{}'), ('otherpartsignature', '{}')]), 
 OrderedDict([('part', '8889012020C'), ('file', '6'), ('estimatedtime', ' 100'), ('signature', '{}'), ('otherpartsignature', '{}')]), 
 OrderedDict([('part', '8889012021D'), ('file', '7'), ('estimatedtime', ' 100'), ('signature', '{}'), ('otherpartsignature', '{}')]), 
 OrderedDict([('part', '8889012022B'), ('file', '8'), ('estimatedtime', ' 100'), ('signature', '{}'), ('otherpartsignature', '{}')])]

你能举一个例子,说明你拥有什么,你希望得到什么,以及你到目前为止做了什么吗?我没有真正得到你需要的:S
[OrderedDict([('part', '8888822701B'), ('file', '0'), ('estimatedtime', '100'), ('signature', '{}'), ('otherpartsignature', '{}')]), 
 OrderedDict([('part', '8889012006B'), ('file', '1'), ('estimatedtime', ' 100'), ('signature', '{}'), ('otherpartsignature', '{}')]), 
 OrderedDict([('part', '8889012013B'), ('file', '2'), ('estimatedtime', ' 100'), ('signature', '{}'), ('otherpartsignature', '{}')]), 
 OrderedDict([('part', '8889012014B'), ('file', '3'), ('estimatedtime', ' 100'), ('signature', '{}'), ('otherpartsignature', '{}')]), 
 OrderedDict([('part', '8889012016C'), ('file', '4'), ('estimatedtime', ' 100'), ('signature', '{}'), ('otherpartsignature', '{}')]), 
 OrderedDict([('part', '8889012019B'), ('file', '5'), ('estimatedtime', ' 100'), ('signature', '{}'), ('otherpartsignature', '{}')]), 
 OrderedDict([('part', '8889012020C'), ('file', '6'), ('estimatedtime', ' 100'), ('signature', '{}'), ('otherpartsignature', '{}')]), 
 OrderedDict([('part', '8889012021D'), ('file', '7'), ('estimatedtime', ' 100'), ('signature', '{}'), ('otherpartsignature', '{}')]), 
 OrderedDict([('part', '8889012022B'), ('file', '8'), ('estimatedtime', ' 100'), ('signature', '{}'), ('otherpartsignature', '{}')])]