在密钥未知时访问字典值的简明方法

时间:2017-03-18 21:23:07

标签: python python-3.x

我有一堆大字典,其中的键是文本字符串。每个键值对具有相同的格式。我经常最终需要使用以下内容打印出其中一个值来验证结构(哪个键:值对无关紧要):

my_dict[list(my_dict.keys())[ARBITRARY INDEX]]

我觉得必须有更有说服力的方法来做这个,任何想法?

2 个答案:

答案 0 :(得分:4)

由于您使用的是Python 3(其中dict.values没有返回完整的列表),您可以使用

以内存有效的方式获取任意值
next(iter(d.values()))

如果字典可能没有值,请将其包装在捕获StopIteration的辅助函数中,即:

def get_arb_value(dic):
    try:
        return next(iter(dic.values()))
    except StopIteration:
        # do whatever you like 

相当于next(iter(dic.values()))的Python 2将是next(dic.itervalues())

答案 1 :(得分:2)

你可以这样做:

list(d.values())[0]

换句话说,取所有值,转换为列表,取第一个。