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

Python中通过索引修改元素及存储处理后值的技术问题

问题分析与解决

为什么未得到期望输出?

你第一段代码里的value是循环中的临时变量,每次迭代时会被重新赋值为当前data元素的原始值:

  • 第一次迭代:value初始为4,乘2后变为8,但这个值仅存在当前迭代的临时变量中,没有被保存
  • 第二次迭代:value被重新赋值为6,乘2后变为12,同样只是临时变量
  • 第三次迭代:value被赋值为8,乘2后变为16,这是最后一次迭代的结果,因此print(value)只会输出这个最终的临时值,而非所有处理后的值组成的列表。

而data[index] = data[index] + 1是直接修改原列表的元素,所以data的输出符合预期。

如何将处理后的value存入空列表?

使用列表的append()方法,即可把每次处理后的value添加到空列表中。修改后的完整代码如下:

data = [4, 6, 8]
empty_list = []
for index, value in enumerate(data):
    data[index] = data[index] + 1
    value = value * 2
    empty_list.append(value)  # 将处理后的value添加到空列表

print(data)
print(empty_list)

运行后终端输出会与你的期望一致:

[5, 7, 9]
[8, 12, 16]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 00:12:03