如何将for循环生成的所有结果追加到一个数组中?
解决Python中for循环结果追加到数组的问题
嘿,我看你想把循环生成的数值都收集到数组里,但目前的代码有几个小问题需要调整:
- 你没有提前初始化一个用来存储结果的数组,反而试图给单个数值变量
a添加append属性,这是不对的 append是列表的方法,得通过列表.append(元素)的方式调用,而不是赋值操作
给你整理好的正确代码:
# 先初始化一个空列表(Python里常用列表实现数组功能) result = [] # 这里设置n=10,对应你要的最后一个值0.05263157894736842(此时k=9,2*9+1=19,1/19≈0.0526) n = 10 for k in range(n): a = 1 / (2*k + 1) # 把计算出的单个数值追加到结果列表中 result.append(a) # 打印最终的数组形式结果 print(result)
运行这段代码后,你就能得到期望的输出:[1.0, 0.3333333333333333, 0.2, 0.14285714285714285, 0.1111111111111111, 0.09090909090909091, 0.07692307692307693, 0.06666666666666667, 0.058823529411764705, 0.05263157894736842]
简单拆解下逻辑:
- 先创建空列表
result作为容器,用来装所有计算结果 - 循环中每次算出单个数值
a,调用append()方法把它加到列表末尾 - 循环结束后,
result就是你要的数组格式啦
内容的提问来源于stack exchange,提问作者Srome
相关产品推荐
相关产品推荐

