从键列表中获取 dict 中的第一个值

Skh*_*haz -1 python

让我们假设我有以下内容set

labels = set(["foo", "bar"])
Run Code Online (Sandbox Code Playgroud)

我有一个dict与这些价值观

d = {
  "foo": "some value",
  "asdf": "another value",
}
Run Code Online (Sandbox Code Playgroud)

如何根据集合的任何值获取字典的第一个值labels

换句话说,如何从集合的值中获取值“某个值”?

Olv*_*ght 5

您可以next()使用生成器表达式申请:

result = next(d[k] for k in labels if k in d)
Run Code Online (Sandbox Code Playgroud)

更新。上面的代码有效,但它不适合 100%,因为它迭代labels并检索第一个键的值,这并不总是第一次出现。

要从labels使用下一个代码中获取任何键第一次出现的值:

result = next(v for k, v in d.items() if k in labels)
Run Code Online (Sandbox Code Playgroud)