我试图创建一个友好的格式为多个相关的HTML下拉列表。你知道吗
如何转换字典d
使其看起来像字典output
?你知道吗
d = [
{"state": "California", "county": "Monterey", "city": "Salinas"},
{"state": "California", "county": "Monterey", "city": "Gonzales"},
{"state": "Oregon", "county": "Douglas", "city": "Roseburg"},
{"state": "Oregon", "county": "Douglas", "city": "Winston"},
{"state": "California", "county": "Alameda", "city": "Berkeley"},
]
output = {
"California": {
"Monterey": ["Salinas", "Gonzales"],
"Alameda": ["Berkeley"],
},
"Oregon": {
"Douglas": ["Roseburg", "Winston"],
}
}
我不希望使用Pandas,只使用纯Python,因为我还需要将解决方案转换为JavaScript(尽管如此,我尝试过将d
转换为数据帧,应用各种方向,但没有一个方向提供我想要的输出)。你知道吗
循环浏览列表并处理每个字典,将每个条目添加到输出中的适当位置,必要时创建新的字典和列表。你知道吗
结果:
或者,用
collections.defaultdict
:结果是:
您只能使用basic dictionaries with setdefault来执行此操作:
输出:
如果您需要更快的速度,请查看for ^{}'s ,它没有每次创建默认对象的开销:
以下是我一直喜欢使用的一些实用函数:
有了他们,答案就变成了:
相关问题 更多 >
编程相关推荐