亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在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 關注
  • 233 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號