2011-01-28 44 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,您可以在其中使用索引引用元素。