首页 > 解决方案 > 从键列表中获取dict中的第一个值

问题描述

假设我有以下内容set

labels = set(["foo", "bar"])

我有dict这些价值观

d = {
  "foo": "some value",
  "asdf": "another value",
}

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

换句话说,我怎样才能从集合的值中获得“某个值”的值?

标签: python

解决方案


您可以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)

推荐阅读