【问题标题】: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}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-04
      相关资源
      最近更新 更多