字典在不知道密钥的情况下获取值

时间:2015-11-14 14:16:21

标签: python dictionary

在python中,如果我有一个具有单个键值对的字典,并且如果我不知道该键可能是什么,我该如何获得该值?

(如果我有一个带有多个键,值对的dict,如何在不知道任何键的情况下返回任何一个值?)

4 个答案:

答案 0 :(得分:28)

您只需使用dict.values()

这将返回一个包含字典所有值的列表,而不必指定任何键。

您可能也有兴趣:

  • .keys():返回包含密钥的列表
  • .items():返回元组列表(key, value)

请注意,在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'