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

如何原地修改Python字典中存储的列表的元素值

问题原因

你编写的代码无法实现预期效果的核心原因是:Python中的整数、浮点数都属于不可变类型,嵌套循环中拿到的x只是原列表元素的临时拷贝,修改x的值不会同步到原列表中。同时代码末尾的return x属于冗余逻辑,没有将修改回写到原数据容器中。

正确实现

要满足不创建新字典、不创建新列表的要求,只需通过索引原位修改列表的对应元素即可,代码如下:

for num_list in scores.values():
    # 遍历列表索引,直接修改原列表对应位置的数值
    for idx in range(len(num_list)):
        num_list[idx] *= 0.5
效果验证

运行上述代码后,打印scores即可得到预期结果:
{'Anna': [63.5, 75.0, 84.0], 'Jamie': [94.0, 88.0, 95.0]}
如果需要整数值可以修改赋值逻辑为num_list[idx] = int(num_list[idx] * 0.5)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 20:24:03