在python中,如果我有一个具有单个键值对的字典,并且如果我不知道该键可能是什么,我该如何获得该值?
(如果我有一个带有多个键,值对的dict,如何在不知道任何键的情况下返回任何一个值?)
答案 0 :(得分:28)
您只需使用dict.values()
。
这将返回一个包含字典所有值的列表,而不必指定任何键。
您可能也有兴趣:
请注意,在Python 3中,返回的值实际上不是正确的列表,而是view object。
答案 1 :(得分:1)
进一步讲解Delgan的出色答案(请回答他的答案而不是这个答案),这是Python 3的示例,演示了如何使用视图对象:
在Python 3中,您可以在不知道/不使用键的情况下打印值,因此:
for item in my_dict:
print( list( item.values() )[0] )
cars = {'Toyota':['Camry','Turcel','Tundra','Tacoma'],'Ford':['Mustang','Capri','OrRepairDaily'],'Chev':['Malibu','Corvette']}
vals = list( cars.values() )
keyz = list( cars.keys() )
cnt = 0
for val in vals:
print('[_' + keyz[cnt] + '_]')
if len(val)>1:
for part in val:
print(part)
else:
print( val[0] )
cnt += 1
OUTPUT:
[_Toyota_]
Camry
Turcel
Tundra
Tacoma
[_Ford_]
Mustang
Capri
OrRepairDaily
[_Chev_]
Malibu
Corvette
该Py3文档再次引用:
https://docs.python.org/3.5/library/stdtypes.html#dict-views
答案 2 :(得分:1)
使用popitem
并解压缩的其他解决方案:
d = {"unknow_key": "value"}
_, v = d.popitem()
assert v == "value"
答案 3 :(得分:0)
另外两种方式:
>>> d = {'k': 'v'}
>>> next(iter(d.values()))
'v'
>>> v, = d.values()
>>> v
'v'