代码之家  ›  专栏  ›  技术社区  ›  ntoonio

单行for循环用于构建具有多个值的字典列表[重复]

  •  -1
  • ntoonio  · 技术社区  · 7 年前

    我正在尝试将两个数组映射到一个字典列表。这样地:

    a_list = [1, 2, 3]
    b_list = ["a", "b", "c"]
    
    d = [{"key1": a, "key2": b} for a in a_list for b in b_list]
    >> [{"key1": 1, "key2": "a"}, {"key1": 2, "key2": "b"}, {"key1": 3, "key2": "c"}]
    

    [{"key1": 1, "key2": "a"}, {"key1": 1, "key2": "b"}, [...] {"key1": 3, "key2": "b"}, {"key1": 3, "key2": "c"}]
    

    我试着换第二个 for 两者都有 and ,

    1 回复  |  直到 7 年前
        1
  •  2
  •   xashru    7 年前

    使用 zip

    a_list = [1, 2, 3]
    b_list = ["a", "b", "c"]
    d = [{"key1": a, "key2": b} for (a, b) in zip(a_list, b_list)]
    print(d)  # [{'key1': 1, 'key2': 'a'}, {'key1': 2, 'key2': 'b'}, {'key1': 3, 'key2': 'c'}]