如何将元组列表与表头列表组合转换为指定结构的字典
首先注意你给出的预期output语法不符合Python字典规范,合法的输出结构应该为:
output = { 1: { 'Date': (2015-10-08, 2016-07-17, 2015-09-09, 2014-01-29), 'Name': (Alex, Jerry, Tony, Tom), 'Age': (5, 6, 7, 8) } }
以下实现基于上述合法结构完成,如果你需要匹配你给出的字面输出格式(每个字段单独为字典放在列表中),可以参考第二版实现。
实现方案1(单字典嵌套结构,符合常规使用场景)
直接用zip将列标题和对应元组配对,组装为目标字典即可:
# 注:如果你的日期、姓名是字符串类型,需要加引号;如果是datetime/自定义对象则直接使用即可 data = [("2015-10-08","2016-07-17","2015-09-09","2014-01-29"),("Alex", "Jerry", "Tony", "Tom"), (5,6,7,8)] title = ["Date" , "Name", "Age"] output = {1: dict(zip(title, data))}
打印output的验证结果:
{ 1: { 'Date': ('2015-10-08', '2016-07-17', '2015-09-09', '2014-01-29'), 'Name': ('Alex', 'Jerry', 'Tony', 'Tom'), 'Age': (5, 6, 7, 8) } }
实现方案2(列表嵌套字典,匹配你给出的字面输出格式)
如果你需要每个字段单独作为字典放在列表中,调整为列表推导式即可:
output = {1: [{k:v} for k,v in zip(title, data)]}
打印output的验证结果:
{ 1: [ {'Date': ('2015-10-08', '2016-07-17', '2015-09-09', '2014-01-29')}, {'Name': ('Alex', 'Jerry', 'Tony', 'Tom')}, {'Age': (5, 6, 7, 8)} ] }
内容的提问来源于stack exchange,提问作者Sriram
相关产品推荐
相关产品推荐

