V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
s04
V2EX  ›  Python

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

  •  
  •   s04 · 2020-02-08 23:19:15 +08:00 · 3394 次点击
    这是一个创建于 1531 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    9 条回复    2020-02-12 15:05:53 +08:00
    sivacohan
        1
    sivacohan  
       2020-02-08 23:36:30 +08:00 via iPhone   ❤️ 1
    def statistics():
    # ram occupancy MAX,Average,minimum.
    occ_history = []
    occ = occ_rate()

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

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

    BTW, 为什么不用 SO 自己的代码编辑,文中提到的 gist 代码量不大,除非有大量的或者工程级别的代码量,否则你应该使用它。
    s04
        9
    s04  
    OP
       2020-02-12 15:05:53 +08:00
    @xingheng 我没有质疑 python list 函数调用的问题, 我只是不明白问什么出现我这样的情况。因为我没有注意 list 放在函数内会在每次函数被调用时被初始化。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1148 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 23:09 · PVG 07:09 · LAX 16:09 · JFK 19:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.