Python新手求助:如何向数组指定索引添加数值?代码为何失效?
问题分析与解决方案
嘿,刚接触Python的话很容易踩这个小坑,我来给你捋清楚为啥代码没达到预期效果!
问题根源
你代码里的x[2] + 1这一行,其实只是计算了x[2]加1后的数值,但完全没把这个新数值存回数组的x[2]位置里。Python不会自动帮你把运算结果赋值回原数组元素,必须显式写赋值操作才行。
修正后的代码
把那行改成赋值语句就搞定了,两种写法都可以:
x = [0] * 10 print(x) # 写法1:完整赋值写法 x[2] = x[2] + 1 # 写法2:更简洁的增量赋值(日常开发更推荐这个) # x[2] += 1 print(x)
输出对比
修改后运行代码,输出就会和你预期的一致:
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 1, 0, 0, 0, 0, 0, 0, 0]
说白了就是:你只做了加1的计算,但没告诉Python把结果放回原来的位置,所以数组从头到尾都没被修改~
内容的提问来源于stack exchange,提问作者Dan Murphy
相关产品推荐
相关产品推荐

