2011-01-28 13 views
3

私はPython辞書を使用しています。tel = {'jack':4098、 'sape':4139 .....、 'john':5147} すべてをフェッチする方法はありますかインデックス範囲? は、たとえば、第5回・第十位置から配置されたすべての値...辞書からの位置によるキー値の取得

おかげで、 ネイサン

答えて

6

はPythonの辞書にはインデックス/位置はありません。キー/値ペアには特定の順序はありません。

ディクショナリから特定のポジションを選択したい場合は、それにいくつかの基準/注文を与える必要があります。例えば

、名前のアルファベット順に従って:

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

アルファベット順に位置5-10から(name, number)の5つのタプルのリストを返します。

3

インデックスでPython辞書を参照するべきではありません。 Python辞書の項目の格納順序は任意で、インデックスで指定すると失敗するように指定されています。代わりに、それは辞書になるたびにkeysで参照を使用します。 Ordered Dictの場合、標準ライブラリcollections.OrderedDictはインデックスメソッドを提供していないようですが、indexを使用して要素を参照できる特定のOrderedDict odictがあります。

関連する問題