2017-09-24 66 views
-4

在我的類的構造函數中爲其分配一些鍵/值數據的字典中項目的索引順序作爲類字段之一,在運行時每隔當我運行程序。在運行時自動更改項目的字典順序

我也使用Cython調試器檢查了程序,而有趣的事實上是python本身改變了項目的索引!

我使用Python3.5.4

我在Python將斷點字典定義的線和 here is a picture of this problem.

+1

沒有看到代碼,我們無法幫助。但是這些詞典具有完全相同的關鍵。 –

+0

@DanielRoseman剛剛上傳了一張圖片的代碼 –

回答

2

詞典不保留順序(即,如果您遍歷字典的鍵或值,它們不一定以與定義字典時相同的順序顯示)!如果您想保留訂單,您必須使用collections.OrderedDict

1

字典後究竟是無序的。這不是一個錯誤,它只是字典的工作方式。

您可能想要閱讀關於collections.OrderedDict的看法。
這是Python 3.6中的更改列表。據我所知,3.6中的歌詞可能會保持順序,但你需要爲自己嘗試。最好使用OrderedDict

0

我認爲你指的是訂單的字典中的項目?

這很正常,因爲詞典是無序的,因此項目的演示順序不需要遵循將項目添加到詞典的順序。同樣,迭代字典的鍵往往不會遵循創建的順序。

相關問題