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

如何从字典列表提取class字段为键生成值全为0的新字典

实现方法

方法1:字典推导式(最推荐,可读性最高)

直接遍历原列表提取class字段作为键,统一赋值为0即可,代码如下:

a = [
    {"class": "math", "grade": 90},
    {"class": "english", "grade": 80},
    {"class": "science", "grade": 70},
]
# 字典推导式实现
b = {item["class"]: 0 for item in a}
print(b)
# 输出:{'math': 0, 'english': 0, 'science': 0}

方法2:使用dict.fromkeys方法

先提取所有class字段组成可迭代对象,再通过fromkeys批量赋值为0:

class_keys = (item["class"] for item in a)
b = dict.fromkeys(class_keys, 0)

注意:该方法仅适合赋值为不可变对象的场景(比如数字、字符串、元组),如果要赋值为列表、字典这类可变对象,不要用这个方法,会出现所有键引用同一个可变对象的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 08:39:02