Python中如何将列表插入嵌套列表?附具体场景示例
解决列表嵌套分组问题
首先纠正下期望输出的语法小问题,正确格式应该是:
output = [['a', [1,2], [2,3]], ['b', [3,4]], ['c', [4,5]]]
(原示例里的'a'[1,2]是错误写法,需要用逗号分隔键和对应的列表)
实现代码
用字典分组是最直接高效的方式,代码如下:
a = [[1, 'a', 2], [2, 'a', 3], [3, 'b', 4], [4, 'c', 5]] # 初始化字典用于按中间字符串分组 group_dict = {} for item in a: num1, key, num2 = item if key not in group_dict: group_dict[key] = [] group_dict[key].append([num1, num2]) # 转换为期望的嵌套列表格式 output = [] for key, values in group_dict.items(): output.append([key] + values) print(output)
运行结果
执行后会得到:
[['a', [1, 2], [2, 3]], ['b', [3, 4]], ['c', [4, 5]]]
逻辑说明
- 分组阶段:用字典的键对应原列表中的字符串('a'/'b'/'c'),值存储每个字符串对应的数字子列表,遍历原列表时完成分组收集。
- 格式转换阶段:遍历字典的键值对,把键作为第一个元素,拼接对应的所有数字子列表,最终整合成目标嵌套列表。
内容的提问来源于stack exchange,提问作者Motiur Rahman
相关产品推荐
相关产品推荐

