14

私は辞書を持っています

Dict = {'ALice':1, 'in':2, 'Wonderland':3}

キー値を返す方法は見つかりましたが、キー名を返す方法はありませんでした。

たとえば、Pythonに辞書のキー名を段階的に(forループで)返してもらいたい:

Alice
in
Wonderland
4

3 に答える 3

20

使用できます.keys()

for key in your_dict.keys():
  print key

または単に辞書を反復処理します。

for key in your_dict:
  print key

辞書は順序付けられていないことに注意してください。結果のキーは、ややランダムな順序で表示されます。

['Wonderland', 'ALice', 'in']

順序が気になる場合は、順序付けされたリストを使用することで解決できます

sort_of_dict = [('ALice', 1), ('in', 2), ('Wonderland', 3)]

for key, value in sort_of_dict:
  print key

これで、目的の結果が得られます。

>>> sort_of_dict = [('ALice', 1), ('in', 2), ('Wonderland', 3)]
>>> 
>>> for key, value in sort_of_dict:
...   print key
... 
ALice
in
Wonderland
于 2012-04-10T05:36:01.197 に答える
2
def enumdict(listed):
    myDict = {}
    for i, x in enumerate(listed):
        myDict[x] = i

    return myDict

indexes = ['alpha', 'beta', 'zeta']

print enumdict(indexes)

プリント: {'アルファ': 0, 'ベータ': 1, 'ゼータ': 2}

編集:dictを順序付けしたい場合は、ordereddictを使用してください。

于 2012-11-19T09:10:23.590 に答える
1

dict には keys() メソッドがあります。

Dict.keys() はキーのリストを返すか、反復子メソッド iterkeys() を使用します。

于 2012-04-10T05:37:44.113 に答える