【问题标题】:Convert list to list of dictionaries: Python将列表转换为字典列表:Python
【发布时间】:2022-08-16 21:31:24
【问题描述】:

我有以下示例列表。

my_list = [(\'User2\', \'String\'), (\'User2\', \'Integer\'), (\'User3\', \'String\')]

我想在列表中追加namedtype,并希望获得类似于如下的字典列表。

my_new_list = [{\'name\':\'User2\', \'dtype\':\'String\'}, {\'name\': \'User2\', \'dtype\':\'Integer\'}, {\'name\': \'User3\', \'dtype\':\'String\'}]

这是我如何尝试的:

my_new_list = [] 
for i in my_list:
    my_new_list.append(i[\'name\'])
    my_new_list.append(i[\'dtype\'])

有人帮忙吗?

    标签: python list dictionary


    【解决方案1】:
    
    test_list = ["John", 3, "Jack", 8, "Jane", 10]
    key_list = ["name", "number"]
    n = len(test_list)
    res = []
    for idx in range(0, n, 2):
        res.append({key_list[0]: test_list[idx], key_list[1] : test_list[idx + 1]})
    print(str(res))
    
    

    【讨论】:

      【解决方案2】:

      您可以使用列表理解:

      my_list = [("User2", "String"), ("User2", "Integer"), ("User3", "String")]
      
      
      my_new_list = [{"name": u, "dtype": s} for u, s in my_list]
      print(my_new_list)
      

      印刷:

      [
          {"name": "User2", "dtype": "String"},
          {"name": "User2", "dtype": "Integer"},
          {"name": "User3", "dtype": "String"},
      ]
      

      【讨论】:

        【解决方案3】:

        你可以试试这个:

        my_list = [('User2', 'String'), ('User2', 'Integer'), ('User3', 'String')]
        my_new_list = []
        for i in my_list:
            my_new_list.append({'name':i[0],'dtype':i[1]})
        print(my_new_list)
        

        【讨论】:

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