如何将嵌套列表转换为以子列表首项为键的字典?
实现嵌套列表到指定字典的转换
给定原始嵌套列表:
original_list = [['James', '100.00', '90.00', '85.50'], ['Nick', '78.00', '85.00', '80.50'], ['William', '95.50', '92.00', '100.00']]
要转换成目标字典:
target_dict = {'James': ['100.00', '90.00', '85.50'], 'Nick': ['78.00', '85.00', '80.50'], 'William': ['95.50', '92.00', '100.00']}
下面是几种实用的实现方式:
1. 字典推导式(推荐,简洁高效)
这是Python里最常用的写法,一行代码就能搞定:
result = {item[0]: item[1:] for item in original_list}
解释:遍历原始列表里的每个子列表item,把每个子列表的第一个元素item[0]作为字典的键,剩下的元素item[1:](从索引1到末尾的切片)作为对应的值。
2. 循环遍历构建字典
如果觉得推导式不够直观,也可以用普通循环一步步构建:
result = {} for item in original_list: name = item[0] scores = item[1:] result[name] = scores
解释:先初始化一个空字典,然后逐个处理每个子列表,提取名字和分数列表,再把键值对添加到字典里。
3. 使用dict()构造器配合生成器表达式
也可以借助dict()构造器,把每个子列表拆成键和值的元组来生成字典:
result = dict((item[0], item[1:]) for item in original_list)
这种写法和字典推导式效果一致,只是语法形式不同,适合习惯用构造器的场景。
以上方法运行后都能得到你想要的目标字典结构。
内容的提问来源于stack exchange,提问作者Kawaiii
相关产品推荐
相关产品推荐

