【问题标题】:convert multiple lists to a dictionary将多个列表转换为字典
【发布时间】:2017-12-26 20:41:29
【问题描述】:

在 python 中有没有办法将一组列表转换为字典,其中列表的名称是键,值是值?你可以用字典理解来做到这一点吗?

one = ['a', 'b', 'c']
two = ['d','e','f']

会变成

dictionary = {"one" : ['a', 'b', 'c'], "two":['d','e','f'] }

【问题讨论】:

  • 一组列表?比如set?.....
  • 你必须展示这些是如何填充的。 'one' 是变量的名称吗?函数的参数?
  • "one" 不是“列表名称”。列表对象没有这样的概念。 “one”是绑定到列表的 Python 变量的名称,但您同样可以分配给名为“three”的变量,它仍然是同一个列表。
  • dict(zip(["one", "two"], [one, two]))

标签: python dictionary dictionary-comprehension


【解决方案1】:

我认为您不一定可以访问变量名称,但是可以说,如果您有这些列表的列表,则可以将每个列表的索引设置为键值。示例:

megaList = [[2, 3, 6], [3, 6, 1]]
dic = {}
for i, l in enumerate(megaList):
    dic[i] = l

但在这种情况下,您还不如只拥有列表列表。只是因为我不确定您要做什么,所以我会分享,也许这可以引导您朝着正确的方向前进。

或者做@enigma 所做的,如果你不介意手动输入的话。

【讨论】:

    【解决方案2】:
    >>> one = ['a', 'b', 'c']
    >>> two = ['d','e','f']
    >>> c = dict({'one':one, 'two':two})
    

    >>> dict(zip(["one", "two"], [one, two]))
    

    为什么要将 one 变量转换为 'one' 而将 two 变量转换为 'two' 是不可理解的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-04
      • 2017-04-23
      • 2021-10-13
      相关资源
      最近更新 更多