list.append()未新增元素反而替换列表的技术问题求助
解决list.append()每次替换列表而非新增元素的问题
嘿,这个问题我太熟啦!一眼就瞅出问题出在哪了~
你现在的代码里,把trend = list()这条初始化空列表的语句放在了while True循环的内部——这就意味着,每一次循环跑起来的时候,都会重新创建一个全新的空列表,之前循环里添加的元素直接就被丢掉了!所以每次打印的trend自然就只有当前priceRPX()返回的那一个值,看起来像是“替换了整个列表”。
只要把列表初始化的代码移到循环外面,让它只执行一次就好啦,修正后的代码是这样的:
# 把列表初始化放在循环外,只创建一次空列表 trend = list() while True: trend.append(priceRPX()) print(trend) sleep(1)
这样修改后,trend列表会在程序启动时被初始化一次,之后每一轮循环都会往同一个列表里追加新的价格数据,你就能看到列表不断增长的效果了~
如果之后有需要清空列表的场景,直接调用trend.clear()就可以,别再每次循环都重新创建列表哦!
内容的提问来源于stack exchange,提问作者Sumtinlazy
相关产品推荐
相关产品推荐

