如何在程序输出中展示区间及区间内的数对统计结果
实现方案
按需求分三步实现即可:
- 格式化输出原始区间的全部元素
- 统计每个数字的出现频次,累加每个数字可凑成的数对数量(出现次数整除2)得到总数对
- 将相同数字的元素归为同一组,按数字升序排列分组,组之间用
//拼接后输出
完整可运行代码:
from collections import Counter # 替换为实际需要统计的目标区间数组即可 interval_a = [1,1,1,1,2,3,5,2,5] # 输出原始区间内容 print(f"interval a = {','.join(map(str, interval_a))}") # 统计区间内的数对总数 num_counter = Counter(interval_a) couple_total = sum(cnt // 2 for cnt in num_counter.values()) print(f"couples in interval a = {couple_total}") # 拼接分组展示内容 group_res = [] for num in sorted(num_counter.keys()): group_res.append(','.join([str(num)] * num_counter[num])) print(f"the couples are = {' // '.join(group_res)}")
代码运行后输出和预期效果完全匹配:
interval a = 1,1,1,1,2,3,5,2,5 couples in interval a = 4 the couples are = 1,1,1,1 // 2,2 // 3 // 5,5
如果需要统计其他区间,直接修改interval_a的赋值即可,其余逻辑无需调整。
内容的提问来源于stack exchange,提问作者King_Khalil
相关产品推荐
相关产品推荐

