【问题标题】:Python convert pairs list to dictionaryPython将对列表转换为字典
【发布时间】:2014-03-24 16:21:44
【问题描述】:

我有一个包含大约 50 个字符串的列表,其中一个整数表示它们在文本文档中出现的频率。我已经将其格式化如下所示,并且正在尝试创建此信息的字典,第一个单词是值,键是它旁边的数字。

string = [('limited', 1), ('all', 16), ('concept', 1), ('secondly', 1)]

我目前的代码:

my_dict = {}
for pairs in string:
    for int in pairs:
       my_dict[pairs] = int

【问题讨论】:

标签: python list dictionary


【解决方案1】:

像这样,Python 的 dict() 函数非常适合转换 listtuples,这就是你所拥有的:

>>> string = [('limited', 1), ('all', 16), ('concept', 1), ('secondly', 1)]
>>> my_dict = dict(string)
>>> my_dict
{'all': 16, 'secondly': 1, 'concept': 1, 'limited': 1}

【讨论】:

  • 对我来说,它将值放在一个列表中。你能告诉我如何解决它吗? {'all':['16'],'secondly':['1'],'concept':['1'],'limited':['1']}
【解决方案2】:

只需拨打dict():

>>> string = [('limited', 1), ('all', 16), ('concept', 1), ('secondly', 1)]
>>> dict(string)
{'limited': 1, 'all': 16, 'concept': 1, 'secondly': 1}

【讨论】:

    【解决方案3】:

    string 变量是对的列表。这意味着您可以为此做一些类似的事情:

    string = [...]
    my_dict = {}
    for k, v in string:
      my_dict[k] = v
    

    【讨论】:

    • 这可以通过字典理解在一行中完成。
    • @AlexThornton 我知道。但由于 OP 似乎只是从 Python 开始,我认为逐步开发他的解决方案是一个好主意。对于开始使用 Python 编程的人来说,dict ctor 可能看起来很神奇......
    【解决方案4】:

    制作一对2个列表并将它们转换为dict()

    list_1 = [1,2,3,4,5]
    list_2 = [6,7,8,9,10]
    your_dict = dict(zip(list_1, list_2))
    

    【讨论】:

      猜你喜欢
      • 2015-07-23
      • 1970-01-01
      • 1970-01-01
      • 2015-11-14
      • 2016-10-25
      • 2022-12-04
      • 2011-11-18
      • 2022-08-16
      • 2019-02-10
      相关资源
      最近更新 更多