我有以下格式的数据;
(('option1', 'option1'),
('option2', 'option2'),
('option3', 'option3'))
并要求它像这样组织起来;
[{
"option1": "option1"
}, {
"option2": "option2"
}, {
"option3": "option3"
}]
我将如何处理这是python?它用于JQuery接收到的某些数据。
您可以使用列表推导:
[dict([opt]) for opt in inputlist]
演示:
>>> inputlist = (('option1', 'option1'), ('option2', 'option2'), ('option3', 'option3'))
>>> [dict([opt]) for opt in inputlist]
[{'option1': 'option1'}, {'option2': 'option2'}, {'option3': 'option3'}]
但是,如果所有option
键都是唯一的,那么从这些元组中仅创建一个字典会更好:
>>> dict(inputlist)
{'option2': 'option2', 'option3': 'option3', 'option1': 'option1'}
即使键不是唯一的,当您使用一个顶级字典时,将键映射到列表或一组关联值也要容易得多:
result = {}
for key, val in inputlist:
result.setdefault(key, []).append(val)
产生一个result
字典,其中每个键都引用一个值列表。如果任何键在输入列表中出现多次,则将累加关联的值。如果顺序无关紧要,您也可以使用set()
(使用result.setdefault(key, set()).add(val)
)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句