从python字典到html列表
每个人 我的问题与此非常相似: 我想将包含树的python字典转换为使用从python字典到html列表,python,html,dictionary,Python,Html,Dictionary,每个人 我的问题与此非常相似: 我想将包含树的python字典转换为使用 <ul><li></li></ul> Tag 我想获得: <ul><li><input type=checkbox id=Animalia-root>Animalia</li> <ul><li><input type=checkbox id=Chordata-Animalia>Chordat
<ul><li></li></ul> Tag
我想获得:
<ul><li><input type=checkbox id=Animalia-root>Animalia</li>
<ul><li><input type=checkbox id=Chordata-Animalia>Chordata</li>
<ul><li><input type=checkbox id=Chordata-convolvulacee>convolvulacee
</li></ul></ul></ul>
动物
脊索动物数据
卷心菜
有一种简单的方法,用python来实现吗?谢谢这会给你结果
def func(dict1):
for name, dictionary in dict1.items():
print '<ul><li>'
print '<input type=checkbox id={0}-root>'.format(name)
print name
func(dictionary)
print '</ul></li>'
dict1 = {
'Animalia': {
'Chordata': {
'Mammalia': {
'Carnivora': {
'Canidae': {
'Canis': {
'coyote': {
},
'dog': {
}
}
},
'Felidae': {
'Felis': {
'cat': {
}
},
'Panthera': {
'lion': {
}
}
}
}
}
}
},
'Plantae': {
'Solanales': {
'Convolvulaceae': {
'Ipomoea': {
'sweet potato': {
}
}
},
'Solanaceae': {
'Solanum': {
'potato': {
},
'tomato': {
}
}
}
}
}
}
func(dict1)
定义函数(dict1):
对于名称,dict1.items()中的字典:
打印“- ” 打印“”。格式(名称) 印刷品名称 func(字典) 打印“
对的一些小调整将为您提供所需的结果:
def printItems(dictObj, parent, indent):
if len(dictObj):
print '{}<ul>'.format(' ' * indent)
for k,v in dictObj.iteritems():
print '{}<li><input type="checkbox" id="{}-{}">{}</li>'.format(
' ' * (indent+1), k, parent, k)
printItems(v, k, indent+1)
print '{}</ul>'.format(' ' * indent)
printItems(分类法,'root',0)
的输出为:
<ul>
<li><input type="checkbox" id="Animalia-root">Animalia</li>
<ul>
<li><input type="checkbox" id="Chordata-Animalia">Chordata</li>
<ul>
<li><input type="checkbox" id="Mammalia-Chordata">Mammalia</li>
<ul>
<li><input type="checkbox" id="Carnivora-Mammalia">Carnivora</li>
<ul>
<li><input type="checkbox" id="Canidae-Carnivora">Canidae</li>
<ul>
<li><input type="checkbox" id="Canis-Canidae">Canis</li>
<ul>
<li><input type="checkbox" id="coyote-Canis">coyote</li>
<li><input type="checkbox" id="dog-Canis">dog</li>
</ul>
</ul>
<li><input type="checkbox" id="Felidae-Carnivora">Felidae</li>
<ul>
<li><input type="checkbox" id="Felis-Felidae">Felis</li>
<ul>
<li><input type="checkbox" id="cat-Felis">cat</li>
</ul>
<li><input type="checkbox" id="Panthera-Felidae">Panthera</li>
<ul>
<li><input type="checkbox" id="lion-Panthera">lion</li>
</ul>
</ul>
</ul>
</ul>
</ul>
</ul>
<li><input type="checkbox" id="Plantae-root">Plantae</li>
<ul>
<li><input type="checkbox" id="Solanales-Plantae">Solanales</li>
<ul>
<li><input type="checkbox" id="Convolvulaceae-Solanales">Convolvulaceae</li>
<ul>
<li><input type="checkbox" id="Ipomoea-Convolvulaceae">Ipomoea</li>
<ul>
<li><input type="checkbox" id="sweet potato-Ipomoea">sweet potato</li>
</ul>
</ul>
<li><input type="checkbox" id="Solanaceae-Solanales">Solanaceae</li>
<ul>
<li><input type="checkbox" id="Solanum-Solanaceae">Solanum</li>
<ul>
<li><input type="checkbox" id="tomato-Solanum">tomato</li>
<li><input type="checkbox" id="potato-Solanum">potato</li>
</ul>
</ul>
</ul>
</ul>
</ul>
- 动物
- 脊索动物
- 哺乳动物
- 食肉动物
- 犬科
- 犬科动物
- 土狼
- 狗
- 猫科动物
- 猫科动物
- 猫
- 黑豹
- 狮子
- 足底
- 日光浴
- 旋花科
- 甘薯
- 红薯
- 茄科
- 茄属
- 西红柿
- 马铃薯
你已经走了多远?没那么多,因为我打印了一种列表,但它是错误的:(非常感谢你的帮助,但是没有打印“”。“格式(名称)”,有一种方法可以将“爸爸”的名字命名为“爸爸”,所以不是“id={0}-root”,而是id={0}-“爸爸”,所以可能id={0}-{-1}?另外一个简单的问题,我如何保存而不是只保存“爸爸”全家人?那么“爸爸”呢?
taxonomy = {
'Animalia': {
'Chordata': {
'Mammalia': {
'Carnivora': {
'Canidae': {
'Canis': {
'coyote': {},
'dog': {}
}
},
'Felidae': {
'Felis': {
'cat': {}
},
'Panthera': {
'lion': {}
}
}
}
}
}
},
'Plantae': {
'Solanales': {
'Convolvulaceae': {
'Ipomoea': {
'sweet potato': {}
}
},
'Solanaceae': {
'Solanum': {
'potato': {},
'tomato': {}
}
}
}
}
}
<ul>
<li><input type="checkbox" id="Animalia-root">Animalia</li>
<ul>
<li><input type="checkbox" id="Chordata-Animalia">Chordata</li>
<ul>
<li><input type="checkbox" id="Mammalia-Chordata">Mammalia</li>
<ul>
<li><input type="checkbox" id="Carnivora-Mammalia">Carnivora</li>
<ul>
<li><input type="checkbox" id="Canidae-Carnivora">Canidae</li>
<ul>
<li><input type="checkbox" id="Canis-Canidae">Canis</li>
<ul>
<li><input type="checkbox" id="coyote-Canis">coyote</li>
<li><input type="checkbox" id="dog-Canis">dog</li>
</ul>
</ul>
<li><input type="checkbox" id="Felidae-Carnivora">Felidae</li>
<ul>
<li><input type="checkbox" id="Felis-Felidae">Felis</li>
<ul>
<li><input type="checkbox" id="cat-Felis">cat</li>
</ul>
<li><input type="checkbox" id="Panthera-Felidae">Panthera</li>
<ul>
<li><input type="checkbox" id="lion-Panthera">lion</li>
</ul>
</ul>
</ul>
</ul>
</ul>
</ul>
<li><input type="checkbox" id="Plantae-root">Plantae</li>
<ul>
<li><input type="checkbox" id="Solanales-Plantae">Solanales</li>
<ul>
<li><input type="checkbox" id="Convolvulaceae-Solanales">Convolvulaceae</li>
<ul>
<li><input type="checkbox" id="Ipomoea-Convolvulaceae">Ipomoea</li>
<ul>
<li><input type="checkbox" id="sweet potato-Ipomoea">sweet potato</li>
</ul>
</ul>
<li><input type="checkbox" id="Solanaceae-Solanales">Solanaceae</li>
<ul>
<li><input type="checkbox" id="Solanum-Solanaceae">Solanum</li>
<ul>
<li><input type="checkbox" id="tomato-Solanum">tomato</li>
<li><input type="checkbox" id="potato-Solanum">potato</li>
</ul>
</ul>
</ul>
</ul>
</ul>