使用字典将 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'}]
我想像这样拆分列表
[{'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'}]