You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python循环向列表追加元素错误:CH_list重复生成相同节点如何解决

问题原因

  • CH_list的初始化放在了while循环内部,每轮循环都会清空上一轮保存的节点历史记录
  • 冗余的for循环会重复添加当前轮次的最大节点count次,而不是只追加1次本轮的最大节点

修复后代码

import random

count = 1
attack_count = 0
Node_list = ['a','b','c','d','e']
a, b, c, d, e = 1,1,1,1,1
# CH_list 移到循环外初始化,全程只初始化1次保存所有轮次的结果
CH_list = []
while True:
    value_list = random.sample(range(10, 100), 5) 
    a = value_list[0]
    b = value_list[1]
    c = value_list[2]
    d = value_list[3]
    e = value_list[4]

    print(count, "Round, Values : ", a, b, c, d, e)
    Biggest_N = max(a,b,c,d,e)
    index = value_list.index(Biggest_N) 
    print("Biggest Node:", Node_list[index]) 

    # 删掉原来的for循环,每轮只追加1次当前最大节点
    CH_list.append(Node_list[index])
    print(CH_list)

    if count >= 10 :
        break
    count += 1

修改说明

  • 将CH_list = []移动到while循环外部,只会在程序启动时初始化一次,不会每轮清空历史数据
  • 去掉了重复添加节点的for循环,每轮仅调用1次append()方法将本轮的最大节点追加到列表末尾,即可实现累计保存每轮结果的需求

内容的提问来源于stack exchange,提问作者duckchun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 17:45:05