【问题标题】:Combining List and dictionary in Python在 Python 中结合列表和字典
【发布时间】:2021-04-09 14:32:31
【问题描述】:

我有一个列表,里面有一本字典,里面有一个像这样的列表:

a = [{'name': ['item1', 'item2']}]

我需要得到这样的结果:

[
    {
        'name': 'item1',
        'name': 'item2'
    }
]

【问题讨论】:

  • 键在 dict 中是唯一的。您不能两次拥有相同的密钥
  • 您的输出语法不正确,因此不清楚您要创建的内容,即语法错误closing parenthesis ']' does not match opening parenthesis '{'

标签: python arrays list dictionary


【解决方案1】:

所以对于您的问题,首先您的想法是错误的,因为在 python 中的字典中,当您使用键引用数据时,您不能拥有多个相同的键,如果存在重复,则会出现问题。

所以解决方案可能是:

[
    {
        'name0': 'item1',
        'name2': 'item2'
    }
]

为此,您必须遍历最内层列表中的所有元素,并按照预期结果在列表中创建一个新字典,然后使用诸如 name1、name2 等键在内部字典中一一添加元素。 ..

【讨论】:

    【解决方案2】:

    我不确定您的要求,建议您查看文档here

    最好将字典视为一组键:值对,并要求键是唯一的(在一个字典中)。

    因此,就您想要的具有 2 个相同键的字典输出而言,这是不可能的。

    但你可以尝试这样的事情

    a=[{'name': ['item1', 'item2']}]
    
    result_list=[]
    
    for item in a[0]['name']:
        result_list.append({'name':item})
    
    print(result_list)
    

    输出

    [{'name': 'item1'}, {'name': 'item2'}]
    

    这似乎与您的要求相似。您可以使用列表索引来访问各个字典。

    【讨论】:

      猜你喜欢
      • 2018-10-22
      • 1970-01-01
      • 2014-01-20
      • 2022-01-19
      • 2018-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-10
      相关资源
      最近更新 更多