【发布时间】:2019-08-08 23:13:12
【问题描述】:
如果它与另一个问题重复,我很抱歉。我一直在寻找它,但找不到任何接近这个的东西。
我需要转换字典:
{'id': ['001', '002', '003'], 'tag1': ['val1']}
到字典列表:
[{'id': '001', 'tag1': 'val1'}, {'id': '002', 'tag1': 'val1'}, {'id': '003', 'tag1': 'val1'}]
请注意,本字典仅作为示例,我不能假设字典中键的数量或名称。
我已经使用此代码解决了我的问题:
pfilter = dict()
pfilter["id"] = ["001", "002", "003"]
pfilter["tag1"] = ["val1"]
print(pfilter)
all_values = list(itertools.product(*pfilter.values()))
all_keys = [pfilter.keys()]*len(all_values)
all_dict = [zip(keys, values) for keys, values in zip(all_keys, all_values)]
all_dict = [{k:v for k, v in item} for item in all_dict]
print(all_dict)
我可以有两个以上的钥匙,但我事先不知道它们的名字。
我正在寻找一种更优雅的方法来解决这个问题。
【问题讨论】:
标签: python dictionary split