【问题标题】:Create New Dict from Existing DIct Using List of Values使用值列表从现有 DIct 创建新的 Dict
【发布时间】:2022-11-25 03:33:56
【问题描述】:
我有一个值列表,想使用与列表中的值相对应的键/值对从现有字典创建一个新字典。我找不到涵盖此内容的 Stackoverflow 答案。
example_list = [1, 2, 3, 4, 5]
original_dict = {"a": 1, "b": 2, "c": 9, "d": 2, "e": 6, "f": 1}
desired_dict = {"a": 1, "b": 2, "d": 2, "f": 1}
请注意,original_dict 中有一些值分配给多个键(如示例中所示)。
任何帮助,将不胜感激。
谢谢
【问题讨论】:
标签:
python
list
dictionary
【解决方案1】:
您可以使用dict comprehension,也可以使用filter。
example_list = [1, 2, 3, 4, 5]
original_dict = {"a": 1, "b": 2, "c": 9, "d": 2, "e": 6, "f": 1}
desired_dict = {key: value for key, value in original_dict.items() if value in example_list}
# Option_2
desired_dict = dict(filter(lambda x: x[1] in example_list, original_dict.items()))
# -------------------------------^^^ x[0] is key, x[1] is value of 'dict'
print(desired_dict)
输出:
{'a': 1, 'b': 2, 'd': 2, 'f': 1}