如何在Python中直接将字典键作为变量获取(而不是通过值搜索)?

241

非常抱歉这是一个基础问题,但我的搜索结果只有如何根据字典的值获取其键,而我只想要键的文本/名称,并担心按值搜索可能会返回2个或更多的键,如果字典有很多条目... 我想要做的是这样的:

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

   result = mydictionary.(some_function_to_get_key_name)[current]
   print result
   "keyname"
这是因为我要把它们打印到文档中,并希望在此过程中使用键名和值。我已经看到下面的方法,但这似乎只返回键的值。
get(key[, default])

你只是想检查字典中是否存在“keyname”吗?因为你已经有它了。 - relet
1
不要误解,需要将其打印出来,这将会遍历大量的键。 - Rick
当前current是当前的键,只需执行print current即可。 - Moberg
4
如何只获取字典中的第一个键?(不使用迭代) - VISQL
15个回答

2

如果你只需要从一个简单的字典中获取键值,例如:

os_type = {'ubuntu': '20.04'}

使用 popitem() 方法:
os, version = os_type.popitem()
print(os) # 'ubuntu'
print(version) # '20.04'

2
您可以通过将字典键和值强制转换为列表来实现。同样,也可以对项目进行操作。
示例:
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'

0
如果你有一个像字典一样的东西
d = {'age':24}

然后你可以通过 d.popitem() 获取键和值

key, value = d.popitem()

0
names=[key for key, value in mydictionary.items()]

-2

轻松更改键和值的位置,然后使用值获取键,在字典中,键可以具有相同的值,但它们必须是不同的。例如,如果您有一个列表,其中第一个值是问题的关键,并且其他值是第一个值的规格:

list1=["Name",'ID=13736','Phone:1313','Dep:pyhton']

通过这个循环,您可以轻松保存和使用字典中的数据:

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'}

然后你可以根据任何输入值找到对应的键(名称)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接