Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.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 通过嵌套字典循环(Jinja2,Flask)_Python_Flask_Jinja2_Template Engine - Fatal编程技术网

Python 通过嵌套字典循环(Jinja2,Flask)

Python 通过嵌套字典循环(Jinja2,Flask),python,flask,jinja2,template-engine,Python,Flask,Jinja2,Template Engine,我花了太多时间试图弄明白这一点。我有一本字典如下: {'asset_1':{'scenario_1':10%,'scenario_2':-20%}, “asset_2”:{“scenario_1”:-11%,“scenario_2”:30%}, “资产3”:{“情景1”:15%,“情景2”:22%}, '资产4':{'scenario_1':-13%,'scenario_2':30%} 我现在需要做的是遍历每个资产,然后遍历每个场景,并在表中填写。但我无法在最内层访问外部循环的资产名称。但是,我

我花了太多时间试图弄明白这一点。我有一本字典如下:

{'asset_1':{'scenario_1':10%,'scenario_2':-20%}, “asset_2”:{“scenario_1”:-11%,“scenario_2”:30%}, “资产3”:{“情景1”:15%,“情景2”:22%}, '资产4':{'scenario_1':-13%,'scenario_2':30%}

我现在需要做的是遍历每个资产,然后遍历每个场景,并在表中填写。但我无法在最内层访问外部循环的资产名称。但是,我可以通过{%set asset_loop=loop%}访问索引,然后说{{asset_loop.index}},但这没有帮助,因为在调用{{asset_loop.index}之前,我必须知道哪个索引对应于哪个资产,这样我就创建了一个字典,如下所示:{0:{'scenario u 1':…},1:{'scenario u 1':,…},但我不能保证字典里的顺序

这就是我的atm,它显然不起作用,但显示了我想要实现的目标:

{% for asset in (raw_results["risk_scenarios"].keys() | list) %}
     {% set asset_loop = loop %}
     <tr>
         <th>{{asset}}</th>
         <td>weight</td>

         {% for scenario in raw_results["risk_scenarios"][{{asset}}] %}
             <td>{{raw_results["risk_scenarios"][{{asset}}][{{scenario}}]}}</td>
         {% endfor %}
     </tr>
{% endfor %}

您不必在标记中使用Jinja模板语法。 尝试将资产用作普通变量: {原始结果中场景的百分比[风险场景][资产]]}

场景也是如此