从键列表中获取dict中的第一个值
让我们假设我有以下内容set:
labels = set(["foo", "bar"])
我有一个dict与这些价值观
d = {
"foo": "some value",
"asdf": "another value",
}
如何根据集合的任何值获取字典的第一个值labels?
换句话说,如何从集合的值中获取值“某个值”?
回答
您可以next()使用生成器表达式申请:
result = next(d[k] for k in labels if k in d)
更新。上面的代码有效,但它不适合 100%,因为它迭代labels并检索第一个键的值,这并不总是第一次出现。
要从labels使用下一个代码中获取任何键第一次出现的值:
result = next(v for k, v in d.items() if k in labels)