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

Python字典值无法更新:生成字典列表仅保留最后一项的问题

解决字典列表生成时所有元素均为最后一项的问题

嘿,这个问题我太熟了!你之所以会碰到列表里全是最后一个字典的情况,核心原因是你从头到尾都在操作同一个字典对象——列表里存储的是字典的引用,而不是字典的副本。每次循环你都修改这个字典的内容,然后把它的引用添加到列表里,最后所有引用指向的都是最后一次修改后的那个字典,自然就全变成最后一项了。

两种修改方案:

方案1:每次循环新建一个字典

把字典的定义放到循环内部,这样每次迭代都会创建一个全新的字典对象:

params = []
with open('Test_Tickers.txt') as f:
    for line in f:
        # 每次循环都新建一个空字典,避免复用同一对象
        info = {}
        info['q'] = line.rstrip()
        info['x'] = "NYSE"
        params.append(info)

方案2:直接创建字典并添加(更简洁)

可以省去单独定义info变量的步骤,直接在append里创建字典:

params = []
with open('Test_Tickers.txt') as f:
    for line in f:
        params.append({'q': line.rstrip(), 'x': 'NYSE'})

这样修改后,params列表里的每个元素都是独立的字典对象,就会包含所有你需要的代码项啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:51:55