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

如何为Python字典添加字符串键-列表值对并向值列表追加整数

字典创建新键并向值列表追加元素的解决方案

问题根源

直接访问字典中不存在的键并调用append()会触发KeyError——因为该键未被创建,没有对应的列表可供追加元素。

可行解决方法

1. 手动检查并初始化列表

先判断键是否存在,不存在则创建空列表,再执行追加操作:

from typing import Dict, List

diccionary: Dict[str, List[int]] = {}

if "key" not in diccionary:
    diccionary["key"] = []
diccionary["key"].append(2)

if "key2" not in diccionary:
    diccionary["key2"] = []
diccionary["key2"].append(4)
diccionary["key2"].append(1)

print(diccionary)

执行后输出:{'key': [2], 'key2': [4, 1]}

2. 使用dict.setdefault()简化操作

setdefault()会自动处理键的初始化:若键不存在,用指定值创建并返回;若存在则直接返回对应值,可链式调用append():

from typing import Dict, List

diccionary: Dict[str, List[int]] = {}

diccionary.setdefault("key", []).append(2)
diccionary.setdefault("key2", []).append(4)
diccionary.setdefault("key2", []).append(1)

print(diccionary)

3. 用collections.defaultdict(推荐方案)

defaultdict在访问不存在的键时,会自动调用工厂函数(此处为list)生成空列表,代码更简洁高效:

from typing import Dict, List
from collections import defaultdict

diccionary: Dict[str, List[int]] = defaultdict(list)

diccionary["key"].append(2)
diccionary["key2"].append(4)
diccionary["key2"].append(1)

# 如需转为普通字典,执行dict(diccionary)即可
print(dict(diccionary))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 20:20:21