如何将嵌套列表转换为指定结构的Python字典
嵌套列表转指定格式字典的实现方法
给定你提供的嵌套列表,每个子列表的第一个元素作为字典的键,剩余元素组成的列表作为对应的值,以下是两种简单的实现方式:
1. 字典推导式(简洁高效)
这是最符合Python风格的写法,一行代码就能完成转换:
# 原始嵌套列表 ice_cream_data = [['chocolate', '10225.25', '9025.0', '9505.0', '8750.0'], ['cookie dough', '7901.25', '4267.0', '7056.5', '3550.25'], ['rocky road', '6700.1', '5012.45', '6011.0', '5225.15'], ['strawberry', '9285.15', '8276.1', '8705.0', '7655.1'], ['vanilla', '8580.0', '7201.25', '8900.0', '3500.25']] # 转换为目标字典 result_dict = {item[0]: item[1:] for item in ice_cream_data} # 输出结果 print(result_dict)
运行后得到的结果完全符合你的要求:
{ 'chocolate': ['10225.25', '9025.0', '9505.0', '8750.0'], 'cookie dough': ['7901.25', '4267.0', '7056.5', '3550.25'], 'rocky road': ['6700.1', '5012.45', '6011.0', '5225.15'], 'strawberry': ['9285.15', '8276.1', '8705.0', '7655.1'], 'vanilla': ['8580.0', '7201.25', '8900.0', '3500.25'] }
2. 普通循环(适合新手理解)
如果需要更直观的步骤拆解,可以用循环逐个构建字典的键值对:
ice_cream_data = [['chocolate', '10225.25', '9025.0', '9505.0', '8750.0'], ['cookie dough', '7901.25', '4267.0', '7056.5', '3550.25'], ['rocky road', '6700.1', '5012.45', '6011.0', '5225.15'], ['strawberry', '9285.15', '8276.1', '8705.0', '7655.1'], ['vanilla', '8580.0', '7201.25', '8900.0', '3500.25']] result_dict = {} for item in ice_cream_data: # 取子列表第一个元素作为键 flavor_key = item[0] # 取子列表从第二个元素开始的所有元素作为值列表 value_list = item[1:] # 添加到字典中 result_dict[flavor_key] = value_list print(result_dict)
两种方法最终效果完全一致,可根据自己的习惯选择使用。
内容的提问来源于stack exchange,提问作者Öskar Örn
相关产品推荐
相关产品推荐

