我有一个正在循环浏览的字典项列表。
我可以得到年份的密钥,当我尝试从字典中获取数据时,它将再次打印年份。
[{'2020': [], '2019': ['05'], '2018': ['02', '01']}]
{% for d in dirs %}
{% for sd in d %}
{{ sd }}
{% for doy in sd %}
{{ doy }}<br>
{% endfor %}<br><br>
{% endfor %}
{% endfor %}
什么是打印
2020
2
0
2
0
2019
2
0
1
9
2018
2
0
1
8
我要打印的是
2020
2019
05
2018
02
01
答案 0 :(得分:2)
更改
{% for doy in sd %}
到
{% for doy in d[sd] %}
这里的理由是,使用for ... in ...
语法在字典上进行迭代会在字典的键上进行迭代。这意味着您的嵌套循环然后尝试循环在字典键内的值 而不是字典键内的值。
答案 1 :(得分:1)
如上所述,您可以通过修改第三个循环来实现。
为了简化:
list = [{'2020': [''], '2019': ['05'], '2018': ['02', '01']}]
模板:
{% for obj in list %}
{% for obj2 in obj %}
<p>{{ obj2 }}</p>
{% for obj3 in obj[obj2] %}
<p>{{ obj3 }}</p>
{% endfor %}
{% endfor %}
{% endfor %}
输出:
2020
2019
05
2018
02
01