为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Django模板中阅读嵌套字典?

如何在Django模板中阅读嵌套字典?

森林海 2021-03-28 09:39:47
我正在尝试在Django的模板中访问以下数据结构。但是对我来说太难了,也太想办法了。{ Day1 : { Room1 : [(datetime.date(), (totalTime1, Flag1)),                    (datetime.date(), (totalTime2, Flag2)),                    (datetime.date(), (totalTime3, Flag3)),                    (datetime.date(), (totalTime4, Flag4))],           Room2 : [(datetime.date(), (totalTime1, Flag1)),                    (datetime.date(), (totalTime2, Flag2)),                    (datetime.date(), (totalTime3, Flag3)),                    (datetime.date(), (totalTime4, Flag4))],           Room3 : [(datetime.date(), (totalTime1, Flag1)),                    (datetime.date(), (totalTime2, Flag2)),                    (datetime.date(), (totalTime3, Flag3)),                    (datetime.date(), (totalTime4, Flag4))] }, Day2 : {  Room1 : [(datetime.date(), (totalTime1, Flag1)),                    (datetime.date(), (totalTime2, Flag2)),                    (datetime.date(), (totalTime3, Flag3)),                    (datetime.date(), (totalTime4, Flag4))],           Room2 : [(datetime.date(), (totalTime1, Flag1)),                    (datetime.date(), (totalTime2, Flag2)),                    (datetime.date(), (totalTime3, Flag3)),                    (datetime.date(), (totalTime4, Flag4))],           Room3 : [(datetime.date(), (totalTime1, Flag1)),                    (datetime.date(), (totalTime2, Flag2)),                    (datetime.date(), (totalTime3, Flag3)),                    (datetime.date(), (totalTime4, Flag4))] } }可能它的数据结构非常复杂,但对此感到抱歉。我无法分解。我的选择是有限的。我想在一个循环中访问每个元素。我该怎么办?
查看完整描述

4 回答

?
达令说

TA贡献1821条经验 获得超6个赞

它不能在单个循环中完成,但是可以通过一些嵌套来完成:


{% for day, rooms in mydict.items %}

  {% for room, dates_and_flags in rooms.items %}

    {% for date, time_and_flags in dates_and_flags %}

        {{ date }}:{{ time_and_flags }}

    {% endfor %}

  {% endfor %}

{% endfor %}

因为time_and_flags是元组,所以您可以使用time_and_flags.0和使用标志访问时间time_and_flags.1。


查看完整回答
反对 回复 2021-04-01
?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

您的问题并没有完全说明您要如何使用嵌套字典,但这是一个疯狂的猜测:


for day,rooms in days.iteritems():

    print "Rooms for day {}:".format(day)

    for room, times in rooms.iteritems():

        print "  . Room {}".format(room)

        for t in times:

            print "Date : {} | Total time : {} | Flag : {}".format(t[0], t[1][0], t[1][1])



查看完整回答
反对 回复 2021-04-01
  • 4 回答
  • 0 关注
  • 215 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号