从 Python 字典中选择键值对

新手上路,请多包涵

我有一个 Python Dict,如下所示:

 a = {"a":1,"b":2,"c":3,"f":4,"d":5}

我有一个如下列表:

 b= ["b","c"]

我想要做的是从字典 a 中选择键:值对,键在 b 中。所以输出应该是一个像这样的字典:

 out = {"b":2,"c":3}

我可以简单地创建另一个字典并使用 key:value 对迭代更新它,但我有 RAM 问题并且字典 a 非常大。 b 包括几点,所以我认为从 a 中弹出是行不通的。我能做些什么来解决这个问题?

编辑:Out 实际上是对 a 的更新。所以我会更新 a 作为输出。

谢谢 :)

原文由 uhuuyouneverknow 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 361
1 个回答

如果你真的想用列表中的键创建一个新字典,那么你可以使用字典理解。

 a = {"a":1,"b":2,"c":3,"f":4,"d":5}
b = ["b", "c"]

out = {x: a[x] for x in b}

如果 --- 的任何元素实际上不是 b 中的键,这将通过引发 KeyError a

原文由 Chris Mueller 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏