使用字典将 python 中的列表分成两部分

split list two part in python using dictionary

我想像这样拆分列表

[{'Age': '23', 'Name': 'John'}, {'Age': '43', 'Name': 'Apple'}, {'Age': '13', 'Name': 'Alice'}]

这是我的代码

temp_list=["John","Apple","Alice","23","43","13"]
temp_dict={'Name':'','Age':''}
final_list=[]
for temp in temp_list:
    temp_dict['Name']=temp
    temp_dict['Age']=temp
    final_list.append(temp_dict)
    temp_dict={'Name':'','Age':''}
print final_list

我该怎么办?

您可以使用以下字典理解:

 final_list = dict(zip(temp_list[:3], temp_list[3:]))

示例:

>>> temp_list=["John","Apple","Alice","23","43","13"]
>>> final_list = dict(zip(temp_list[:3], temp_list[3:]))
>>> final_list
{'John': '23', 'Apple': '43', 'Alice': '13'}

一般来说,如果n = len(temp_list)你可以使用:

final_list = dict(zip(temp_list[:n // 2], temp_list[n // 2:]))

生成您在问题中指定的结构:

>>> [dict(zip(("Age", "Name"), x)) for x in zip(temp_list[3:], temp_list[:3])]
[{'Age': '23', 'Name': 'John'}, {'Age': '43', 'Name': 'Apple'}, {'Age': '13', 'Name': 'Alice'}]