如何将字符串列表转换为字典列表?

2024-09-25 00:33:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我必须从字符串列表中生成一个键、值对字典列表。例如,我有一个这样的列表

my_list = ["John","Google","yes","Sara","TCS","no","John","facebook","yes"]

我希望输出如下:


[
{"name":"John","company":"Google","avaiable":"yes"},
{"name":"Sara","company":"TCS","avaiable":"No"},
{"name":"John","company":"facebook","avaiable":"yes"},

]


Tags: no字符串name列表facebook字典mygoogle
3条回答

下面的代码片段应该可以为您完成。这里的想法是计算列表的长度,并使用列表理解来构建列表字典。这些假设是:

  • 列表长度是3的倍数
  • 所有项目都按照您的输出格式预期的顺序排列
my_list = ["John", "Google", "yes", "Sara", "TCS", "no", "John", "facebook", "yes"]
list_len = len(my_list)
dictionary_list = [
    {"name": my_list[i], "company": my_list[i + 1], "available": my_list[i + 2]}
    for i in range(0, list_len, 3)
]
print("dictionary list = %s" % (dictionary_list))

输出:

[{'available': 'yes', 'company': 'Google', 'name': 'John'}, {'available': 'no', 'company': 'TCS', 'name': 'Sara'}, {'available': 'yes', 'company': 'facebook', 'name': 'John'}]

您可以循环浏览列表。您可以将循环中的变量(下面的“i”)步进3步

my_new_list = []
for i in range(0, len(my_list), 3):
    my_dict = {}
    my_dict['name'] = my_list[i]
    my_dict['company'] = my_list[i+1]
    my_dict['available'] = my_list[i+2]
    my_new_list.append(my_dict)
[
    {"name": item[0], "company": item[1], "available": item[2]}
    for item in [my_list[i : i + 3] for i in range(0, len(my_list), 3)]
]

相关问题 更多 >