2011-01-28 43 views
3

我使用python字典tel = {'jack':4098,'sape':4139 .....,'john':5147} 是否有任何方法可以提取所有這些值位於索引範圍之間? 例如,距離第5至第10位的所有值...從字典中提取按位置排序的鍵值

感謝, 彌敦道

回答

6

有一個Python字典沒有索引/位置。鍵/值對沒有任何特定順序。

如果你想從字典中選擇特定的位置,你必須給它一些標準/順序。

例如,根據名稱的字母順序:

sorted(tel.items())[5:11] 

返回從字母順序的位置5-10的(name, number) 5元組的列表。

3

您不應該通過索引引用Python字典。 Python字典存儲項目的順序是任意的,並且通過索引表示它必然失敗。每當涉及字典時,您都可以使用keys的引用。說到Ordered Dict,標準庫集合.OrderedDict似乎沒有提供索引方法,但有一定的OrderedDict,您可以在其中使用索引引用元素。