2012-03-18 41 views
0

我正在創建一個使用字典的模塊。本字典中包含一些鍵/值對,在其他模塊中使用時,必須保留訂單號。但是,無論何時迭代字典並打印鍵,鍵的鍵/鍵值對的插入順序都不一樣。如何維護python字典中的鍵/值對的順序?

所以我的問題是我該如何保存鍵/值對在字典中的順序?

任何幫助將高度讚賞...

Thanx提前...

+2

您是否將項目添加到字典中的順序?在這種情況下,您可以使用'collections'中的OrderedDict':http://docs.python.org/dev/library/collections.html#collections.OrderedDict – 2012-03-18 12:44:14

+0

@SimeonVisser:完全是。我想維護項目插入的順序。感謝您的鏈接。我會檢查它並回復給你... – Uday0119 2012-03-18 12:48:05

+1

我看到PyPI上有一個包提供了Python 2.4,2.5和2.6的OrderedDict功能:http://pypi.python.org/pypi/ordereddict。你可以嘗試一下。 – 2012-03-18 12:57:05

回答

0

我們知道,常規的Python字典遍歷對以任意順序,因此,他們不保留的插入順序對。 Python 2.7。在「集合」模塊中引入了一個新的「OrderDict」類,它提供了與普通字典相同的接口,但它根據首次插入密鑰的時間順序地遍歷鍵和值。 例如:

from collections import OrderedDict 
d = OrderDict([('Company-id':1),('Company-Name':'Intellipaat')]) 
d.items() # displays the output as: [('Company-id':1),('Company-Name':'Intellipaat')]