如何修改Python字典中id键对应列表的第三个元素?
修改字典内列表指定位置元素的正确方法
你之前用append()出错是因为这个方法是往列表末尾追加新元素,不是修改已有元素。要替换列表里的指定元素,直接通过索引赋值就行:
示例代码
假设你的字典是这样(注意键id要加引号,Python里字符串键必须用引号包裹):
d = {"id": ["gavin", "gavin123@email.com", "age", 55, [111, 222, 333]]}
要把id对应列表的第三个元素(原age)改成20,直接定位索引赋值:
# 列表索引从0开始,第三个元素对应索引2 d["id"][2] = 20
如果还要修改列表里最后一个子列表的第三个元素(把333改成222),继续用嵌套索引:
d["id"][4][2] = 222
执行后打印字典,结果就是你想要的:
print(d) # 输出: {"id": ["gavin", "gavin123@email.com", 20, 55, [111, 222, 222]]}
关键说明
- 列表是可变序列,可以通过索引直接修改对应位置的元素,字典里存储的是列表的引用,所以修改列表会直接反映到字典中。
append()的作用是在列表末尾添加新元素,完全不是替换已有元素的操作,所以之前会出现多余的20在列表最后。
内容的提问来源于stack exchange,提问作者Gavin
相关产品推荐
相关产品推荐

