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)

打印:{'alpha': 0, 'beta': 1, 'zeta': 2}

编辑:如果您希望对字典进行排序,请使用ordereddict。

于 2012-11-19T09:10:23.590 回答
1

dict 有一个 keys() 方法。

Dict.keys() 将返回一个键列表,或者使用迭代器方法 iterkeys()。

于 2012-04-10T05:37:44.113 回答