很抱歉这个基本问题,但我对此的搜索除了如何获取字典的密钥之外没有任何其他内容,我希望不使用它的值,因为我只想要密钥的文本/名称。担心如果字典有很多条目,按值搜索最终可能会返回2个或更多键...我想要做的是:
mydictionary={'keyname':'somevalue'}
for current in mydictionary:
result = mydictionary.(some_function_to_get_key_name)[current]
print result
"keyname"
这样做的原因是我将这些打印到文档中,我想使用键名称和值来执行此操作
我已经看过下面的方法,但这似乎只是返回键的值
get(key[, default])
答案 0 :(得分:214)
你应该用以下代码迭代键:
for key in mydictionary:
print "key: %s , value: %s" % (key, mydictionary[key])
答案 1 :(得分:85)
如果要打印键和值,请使用以下命令:
for key, value in my_dict.iteritems():
print key, value
答案 2 :(得分:77)
这样做的原因是我将这些打印到文档中,我想使用键名称和值来执行此操作
根据上述要求,我建议这样做:
keys = mydictionary.keys()
keys.sort()
for each in keys:
print "%s: %s" % (each, mydictionary.get(each))
答案 3 :(得分:37)
如果字典包含这样的一对:
d = {'age':24}
然后你可以得到
field, value = d.items()[0]
对于Python 3.5,请执行以下操作:
key = list(d.keys())[0]
答案 4 :(得分:11)
keys=[i for i in mydictionary.keys()]
或
keys = list(mydictionary.keys())
答案 5 :(得分:9)
就这么简单:
mydictionary={'keyname':'somevalue'}
result = mydictionary.popitem()[0]
您将修改字典并首先复制字典
答案 6 :(得分:5)
迭代字典(i)将返回密钥,然后使用它(i)获取值
for i in D:
print "key: %s, value: %s" % (i, D[i])
答案 7 :(得分:3)
对于python 3 如果你只想获得密钥使用它。如果需要值,请用打印(值)替换打印(键)。
for key,value in my_dict:
print(key)
答案 8 :(得分:3)
我有时会做的是创建另一个字典,以便能够以我认为需要访问的字符串。然后我迭代匹配键的多个词典来构建例如第一列作为描述的表。
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])
您可以轻松地为大量字典匹配数据(我喜欢使用字典,您可以始终引用众所周知的关键名称)
是的,我使用词典来存储函数的结果,因此每次调用它们时我都不需要运行这些函数,然后随时访问结果。
编辑:在我的例子中,密钥名称并不重要(我个人喜欢使用相同的密钥名称,因为更容易从我的任何匹配字典中选择一个值),只需确保密钥的数量每个字典都是一样的答案 9 :(得分:3)
您可以简单地使用*
来解开字典键。示例:
d = {'x': 1, 'y': 2}
t = (*d,)
print(t) # ('x', 'y')
答案 10 :(得分:0)
您可以通过将字典键和值强制转换为列表来执行此操作。也可以为物品完成。
示例:
f = {'one': 'police', 'two': 'oranges', 'three': 'car'}
list(f.keys())[0] = 'one'
list(f.keys())[1] = 'two'
list(f.values())[0] = 'police'
list(f.values())[1] = 'oranges'
答案 11 :(得分:0)
下面的这段代码是创建指向经理玩家点的地图。目的是将“玩家”一词与序列号连接起来。
players_numbers = int(input('How many girls will play? ')) #First - input receive a input about how many people will play
players = {}
counter = 1
for _ in range(players_numbers): #sum one, for the loop reach the correct number
player_dict = {f'player{counter}': 0} #concatenate the word player with the player number. the initial point is 0.
players.update(player_dict) #update the dictionary with every player
counter = counter + 1
print(players)
输出>>> {'player1': 0, 'player2': 0, 'player3': 0}...
答案 12 :(得分:0)
如果您只需要从简单的字典中获取键值,例如:
os_type = {'ubuntu': '20.04'}
使用popitem()
方法:
os, version = os_type.popitem()
print(os) # 'ubuntu'
print(version) # '20.04'
答案 13 :(得分:-2)
轻松更改键和值的位置,然后使用值获取键, 字典中的键可以具有相同的值,但它们(键)应该不同。 例如,如果您有一个列表,并且列表的第一个值是问题的关键,而其他值则是第一个值的规范:
list1=["Name",'ID=13736','Phone:1313','Dep:pyhton']
通过此循环,您可以轻松地在Dictionary中保存和使用数据:
data_dict={}
for i in range(1, len(list1)):
data_dict[list1[i]]=list1[0]
print(data_dict)
{'ID=13736': 'Name', 'Phone:1313': 'Name', 'Dep:pyhton': 'Name'}
然后您可以基于任何输入值找到键(名称)。