You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python嵌套列表转字典仅保留最后一组数据问题求助

问题原因

Python字典的键具有唯一性,当你传入重复键的键值对生成字典时,后出现的键对应的值会直接覆盖前面的旧值。
你现在的原始列表每3项就会重复一次Grade、Attendance、Session timings三个相同的键,直接将全部键值对转字典时,前面3组班级的值会被后续的依次覆盖,最终只保留最后一组班级的数据。
而zip结果转列表可以看到全部元组,是因为列表允许存在重复元素,不会做覆盖处理,所以数据完整。

正确实现

通常这种场景你需要的是存储多个班级信息的列表,每个班级对应一个独立字典,这样不会出现键冲突,代码如下:

raw_data = [['Grade', 'V A'], ['Attendance', '16/26'], ['Session timings', '8:00 am - 8:40 am'], ['Grade', 'VII A'], ['Attendance', '24/31'], ['Session timings', '8:50 am - 9:30 am'], ['Grade', 'IX A'], ['Attendance', '20/26'], ['Session timings', '9:40 am - 10:20 am'], ['Grade', 'IX B'], ['Attendance', '21/25'], ['Session timings', '10:50 am - 11:30 am']]

result = []
# 每3项为一组,对应一个班级的全部信息
for i in range(0, len(raw_data), 3):
    class_info = dict(raw_data[i:i+3])
    result.append(class_info)

print(result)

输出结果:

[
    {'Grade': 'V A', 'Attendance': '16/26', 'Session timings': '8:00 am - 8:40 am'},
    {'Grade': 'VII A', 'Attendance': '24/31', 'Session timings': '8:50 am - 9:30 am'},
    {'Grade': 'IX A', 'Attendance': '20/26', 'Session timings': '9:40 am - 10:20 am'},
    {'Grade': 'IX B', 'Attendance': '21/25', 'Session timings': '10:50 am - 11:30 am'}
]

如果你确实需要单字典结构,可以将同个键的所有值存入列表,代码如下:

from collections import defaultdict

raw_data = [['Grade', 'V A'], ['Attendance', '16/26'], ['Session timings', '8:00 am - 8:40 am'], ['Grade', 'VII A'], ['Attendance', '24/31'], ['Session timings', '8:50 am - 9:30 am'], ['Grade', 'IX A'], ['Attendance', '20/26'], ['Session timings', '9:40 am - 10:20 am'], ['Grade', 'IX B'], ['Attendance', '21/25'], ['Session timings', '10:50 am - 11:30 am']]

result = defaultdict(list)
for k, v in raw_data:
    result[k].append(v)

print(dict(result))

输出结果:

{
    'Grade': ['V A', 'VII A', 'IX A', 'IX B'],
    'Attendance': ['16/26', '24/31', '20/26', '21/25'],
    'Session timings': ['8:00 am - 8:40 am', '8:50 am - 9:30 am', '9:40 am - 10:20 am', '10:50 am - 11:30 am']
}

内容的提问来源于stack exchange,提问作者Arya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 16:00:02