我在 stack overflow 的提问因为 off-topic 被关闭了

2020-02-08 23:19:15 +08:00
 s04

求大佬指点,我不知道怎么才能开放了。我之前没贴代码到网站,用的是 gist。现在我改了,但我的提问还是没有被打开。这个问题是关于解决 append()方法会覆写列表的数据,导致我程序达到统计最大值最小值平均值的问题。

https://stackoverflow.com/questions/60125917/append-overwrites-my-older-list-data-by-a-new-value?noredirect=1#comment106342428_60125917

3628 次点击
所在节点    Python
9 条回复
sivacohan
2020-02-08 23:36:30 +08:00
def statistics():
# ram occupancy MAX,Average,minimum.
occ_history = []
occ = occ_rate()

把 occ_history = []挪到函数外面。
建议你先好好看一遍 python 的语法吧,这样的问题,真是不会有几个人回答的。
liangch
2020-02-08 23:44:04 +08:00
把例子写得简单些,计算逻辑和 append 没关系。
一般是语法错。
cyrbuzz
2020-02-09 14:06:44 +08:00
我想知道为啥一开始确定是 append 的原因而不是其他的原因呢?
s04
2020-02-09 15:18:57 +08:00
@cyrbuzz 因为我运行程序的时候 append()可以在我创建的空列表里添加元素,但如同 windows 的复制粘贴一样,你新复制一个元素,原先的元素就没了。而根据这个网站的描述,append()方法是在末尾添加的,没有谈到覆写的问题。https://www.runoob.com/python/att-list-append.html
cyrbuzz
2020-02-09 15:43:46 +08:00
@s04
所以不是应该先 Debug 确定一下 append 是覆盖还是追加嘛= =。
s04
2020-02-09 17:26:19 +08:00
@cyrbuzz ok 我追踪一下
s04
2020-02-09 19:36:29 +08:00
@cyrbuzz 和楼上说的一样,我把列表放在函数外边就搞定了。
xingheng
2020-02-09 20:55:16 +08:00
这个问题只被踩了两下看来你真走运,建议楼主先学习一下“如何提问”。

1. 看标题是在质疑 python list 函数调用的问题,但是正文里面一大堆不相关的上下文。你又没说内存有问题,谁关心你内存获取的代码?
2. 既然是质疑 python list append 方法有问题,应该先写个 demo 试试效果或者直接查文档。
3. 在发布你的这个问题之前你具体做了哪些尝试去解决这个问题?应该描述清楚。

BTW, 为什么不用 SO 自己的代码编辑,文中提到的 gist 代码量不大,除非有大量的或者工程级别的代码量,否则你应该使用它。
s04
2020-02-12 15:05:53 +08:00
@xingheng 我没有质疑 python list 函数调用的问题, 我只是不明白问什么出现我这样的情况。因为我没有注意 list 放在函数内会在每次函数被调用时被初始化。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/643094

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX