我怎样才能得到字典的关键作为variables直接在Python中(而不是从价值检索)?

对不起,这个基本的问题,但我的search没有什么比除了如何得到一个字典的密钥基于它的价值,我不愿意使用,因为我只是想要的文本/名称的密钥,并担心search按价值可能最终返回2个或更多的密钥,如果字典有很多条目…我想要做的是这样的:

mydictionary={'keyname':'somevalue'} for current in mydictionary: result = mydictionary.(some_function_to_get_key_name)[current] print result "keyname" 

原因是我打印出来的文件,我想用这个键名和值

我已经看到下面的方法,但这似乎只是返回键的价值

 get(key[, default]) 

您应该使用以下键来遍历键:

 for key in mydictionary: print "key: %s , value: %s" % (key, mydictionary[key]) 

如果要打印键和值,请使用以下命令:

 for key, value in my_dict.iteritems(): print key, value 

原因是我打印出来的文件,我想用这个键名和值

基于上述要求,我build议:

 keys = mydictionary.keys() keys.sort() for each in keys: print "%s: %s" % (each, mydictionary.get(each)) 

如果字典包含这样的一对:

 d = {'age':24} 

那么你可以得到

 field, value = d.items()[0] 

keys=[i for i in mydictionary.keys()] or keys = list(mydictionary.keys())

就如此容易:

 mydictionary={'keyname':'somevalue'} result = mydictionary.popitem()[0] 

你会把你的字典和它的副本

迭代字典(i)将返回密钥,然后使用它(i)来获取值

 for i in D: print "key: %s, value: %s" % (i, D[i]) 

对于Python 3如果你只想得到钥匙使用这个。 如果您想要的值,更换打印(键)与打印(值)。

 for key,value in my_dict: print(key) 

我有时做的是创build另一个字典,只是为了能够以我需要的string的forms访问。 然后我迭代多个字典匹配键来构build,例如一个第一列的表作为描述。

 dict_names = {'key1': 'Text 1', 'key2': 'Text 2'} dict_values = {'key1': 0, 'key2': 1} for key, value in dict_names.items(): print('{0} {1}'.format(dict_names[key], dict_values[key]) 

你可以很容易地做大量的字典来匹配数据(我喜欢字典,你可以随时引用一个众所周知的关键名称)

是的,我使用字典来存储函数的结果,所以我不需要每次只调用一次就可以运行这些函数,然后随时访问结果。

编辑:在我的例子中,密钥名称并不重要(我个人喜欢使用相同的密钥名称,因为它更容易从我的任何匹配的字典中select一个值),只要确保每个字典中的密钥数量是一样