对不起,这个基本的问题,但我的搜索这并没有发现任何东西,除了如何获得一个字典的键基于它的值,我宁愿不使用,因为我只是想要键的文本/名称,担心搜索值可能最终返回2个或更多的键,如果字典有很多条目…我想做的是:

mydictionary={'keyname':'somevalue'}
for current in mydictionary:

   result = mydictionary.(some_function_to_get_key_name)[current]
   print result
   "keyname"

这样做的原因是我要把这些打印到一个文档中,我想使用键名和值

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

get(key[, default])

当前回答

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

其他回答

你应该用以下方法遍历键:

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

如果你想同时访问键和值,使用下面的方法:

Python 2:

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

Python 3:

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

这样做的原因是我要把这些打印到一个文档中,我想使用键名和值

基于上述要求,我的建议如下:

keys = mydictionary.keys()
keys.sort()

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

您可以简单地使用*来解包字典键。例子:

d = {'x': 1, 'y': 2}
t = (*d,)
print(t) # ('x', 'y')
names=[key for key, value in mydictionary.items()]