python - 从列表列表创建字典
问题描述
我正在尝试从 python 中的字典列表创建一个字典。我有点坚持如何最好地完成列表中的项目。我一开始就被打断了...
import pprint
def getCategoryTree(lst):
tree = {}
for x in lst:
if isinstance(x, basestring):
if x not in tree.keys():
tree[x] = {}
elif isinstance(x, list):
pass
return tree
if __name__ == '__main__':
data = [
'TEST_FOOD',
['TEST_FOOD', 'TEST_CHICKEN', 'TEST_CHICKEN_FAJITAS', 'TEST_CHICKEN_TINGA'],
['TEST_FRUIT', 'TEST_APPLE'],
['TEST_FRUIT', 'TEST_APPLE', 'TEST_ORANGE'],
'TEST_FRUIT',
['TEST_FOOD', 'TEST_SUISHI'],
]
pprint.pprint(getCategoryTree(data))
输出目标..
{
"TEST_FRUIT": {
"TEST_APPLE": {},
"TEST_ORANGE": {}
},
"TEST_FOOD": {
"TEST_SUISHI": {},
"TEST_CHICKEN": {
"TEST_CHICKEN_FAJITAS": {},
"TEST_CHICKEN_TINGA": {}
}
}
}
解决方案
推荐阅读
- php - 在 VSCode 中使用 Ctrl + Click 进行 PHP 导航
- scylla - Scylladb:scylla_io_setup 脚本 iops 计算与 fio 等其他 iops 计算工具不匹配
- java - Java Spring Spring 微服务在 kubernetes 上的堆大小不足
- python-3.x - 在 Windows 中使用 Python 显示 Appium 日志的不同方法是什么?
- javascript - 无法构建 APP - 架构验证失败并出现以下错误:数据路径“.builders['cordova-build']”应该具有必需的属性“类”
- javascript - 使用 Vue、Vuex 和 Firebase 进行 Twitter 身份验证
- python-2.7 - 如何在 Pyspark 中读取 Ç 作为分隔符的文件(语法错误:文件中的非 ASCII 字符 '\xc3')
- kubernetes - k8s:使用 iptables 从公共 VIP 转发到 clusterIP
- html - 如何获得具有可变列数的网格布局的网格模板列的效果?
- apache-poi - 图表未显示在 Google 表格中