Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从python字典到html列表_Python_Html_Dictionary - Fatal编程技术网

从python字典到html列表

从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

每个人 我的问题与此非常相似:

我想将包含树的python字典转换为使用

<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(字典) 打印“
” 第1条={ “动物性”:{ “Chordata”:{ “哺乳动物”:{ “食肉动物”:{ “犬科”:{ “犬科动物”:{ “狼”:{ }, “狗”:{ } } }, “猫科动物”:{ “费利斯”:{ “猫”:{ } }, “黑豹”:{ “狮子”:{ } } } } } } }, “车前草”:{ “太阳报”:{ “旋花科”:{ ‘甘薯’:{ “红薯”:{ } } }, “茄科”:{ "茄":{ “土豆”:{ }, “西红柿”:{ } } } } } } 职能(第1条)
对的一些小调整将为您提供所需的结果:

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>