我有一个 Python Dict,如下所示:
a = {"a":1,"b":2,"c":3,"f":4,"d":5}
我有如下列表:
b= ["b","c"]
我想做的是从字典 a 中选择键值对,键值在 b 中。 所以输出应该是一个像这样的字典:
out = {"b":2,"c":3}
我可以简单地创建另一个字典并使用键:值对迭代更新它,但我有 RAM 问题并且字典 a 非常大。 b 包括几点,所以我认为从 a 中弹出是行不通的。我该怎么做才能解决这个问题?
编辑:Out 实际上是对 a 的更新。所以我会更新 a 作为输出。
谢谢:)
请您参考如下方法:
如果您真的想用列表中的键创建一个新字典,那么您可以使用字典理解。
a = {"a":1,"b":2,"c":3,"f":4,"d":5}
b = ["b", "c"]
out = {x: a[x] for x in b}
如果 b 中的任何元素实际上不是 a 中的键,则会引发 KeyError 失败。
