Python问题:修改现有代码避免重复统计数字出现频率
修复重复统计数字频率的问题
原代码在统计列表中数字出现次数时,会对重复元素重复输出统计结果(比如4和5各打印两次),以下是基于原代码的改进版本,解决重复输出问题:
n=[1,2,3,4,4,5,5] i=0 a=0 count=0 processed = [] # 新增:记录已统计过的数字 while i<len(n): # 新增:如果当前数字已处理过,直接跳过 if n[i] in processed: i = i + 1 continue a=0 count=0 while a<len(n): if n[i]==n[a]: count=count+1 a=a+1 print(n[i],"出现",count,"次") processed.append(n[i]) # 新增:将已统计的数字加入列表 i=i+1
修改说明
- 新增
processed列表,用来记录已经完成统计的数字 - 每次进入外层循环时,先检查当前数字是否在
processed中:- 如果是,直接跳过当前循环,避免重复统计
- 如果不是,执行原有的统计逻辑,打印结果后把该数字加入
processed列表
修复后的输出
1 出现 1 次 2 出现 1 次 3 出现 1 次 4 出现 2 次 5 出现 2 次
内容的提问来源于stack exchange,提问作者bhushan bowlekar
相关产品推荐
相关产品推荐

