我有一個這樣的OrderedDict在本地工作,但不是在Messenger的聊天機器人:OrderedDict使用的Heroku和瓶
od = OrderedDict({
'a':{'1-k1':'v1',
'2-k2':'v2',
'3-k3':'v3',
},
'b':{'4-k4':'v4'},
{'5-k5':'v5'},
{'6-k6':'v6'},
})
,我想獲得第二級字典的一個所有鍵的列表,以便我所做的:
aod = OrderedDict(od.get('a'))
a_message = ''
for a_key in list(aod.keys()):
a_message = amessage + a_key + ' \n'
print (a_message)
現在,這裏的事情,當我在本地腳本中運行這個,它輸出:
"
1-k1
2-k2
3-k3
"
但是,當我使用Heroku將它集成到Messenger Chatbot中時,該列表並不按順序排列。我認爲應用程序腳本中可能存在某些干擾,因此我將該代碼塊放在頂部並在完成後立即將其打印出來,但仍然無序。我也嘗試製作內部字典Ordered too。
那麼什麼會導致OrderedDict列表在本地工作,在部署後無序?
我想這也和它仍然無法工作,我也跑了很多次,所以它可能不是巧合。 –
Heroku應用程序的輸出是OrderedDict,但其內容不像本地腳本那樣排序。 –
@MohamedMohey你應該改變數據結構,不要在字典上調用'OrderedDict',因爲這不能保證你想要的順序。 –