我有一堆大字典,它们的键是文本字符串。每个键值对具有相同的格式。我经常最终需要使用以下命令打印出一个值来验证结构(哪个 key:value对无关紧要):
my_dict[list(my_dict.keys())[ARBITRARY INDEX]]
Run Code Online (Sandbox Code Playgroud)
我觉得必须有一种更雄辩的方法来做到这一点,有什么想法吗?
由于您使用的是Python 3(dict.values不返回完整列表),因此您可以通过内存有效的方式获取任意值,方法如下:
next(iter(d.values()))
Run Code Online (Sandbox Code Playgroud)
如果字典可能没有值,请将其包装在捕获的辅助函数中StopIteration,即:
def get_arb_value(dic):
try:
return next(iter(dic.values()))
except StopIteration:
# do whatever you like
Run Code Online (Sandbox Code Playgroud)
相当于Python 2的next(iter(dic.values()))是next(dic.itervalues())。