You need to enable JavaScript to run this app. Python统计字符频率后,如何筛选重复超2次的字符并按每行5个格式输出
优惠活动
大模型
产品
解决方案
定价
更多

Python统计字符频率后,如何筛选重复超2次的字符并按每行5个格式输出

过滤与排版实现方案

核心实现思路

  • 结果过滤:现有统计逻辑已经完成了字符出现次数的降序排序,不需要改动前面的统计流程,只要在拿到frequency列表后,筛选出所有出现次数大于2的字符即可,用列表推导式几行就能写完。
  • 排版处理:把过滤好的字符列表按每5个一组切分,逐行拼接输出,就能实现每行5个的排版要求。
  • 代码避坑提示:原实现用str、dict当变量名,这两个都是Python的内置类型,这么写会覆盖原有内置对象的作用,后续如果做字符串、字典相关操作很容易出现莫名报错,建议换成自定义的变量名比如cleaned_str、char_count。

完整可运行代码

import re

sentence = "Xin chao Python! Python rat thu vi! Toi rat thich no-P"
# 移除特殊字符
cleaned_str = re.sub('\W+','', sentence )

frequency = []
char_count = {}

for i in set(cleaned_str):
    count = cleaned_str.count(i, 0, len(cleaned_str))
    char_count[i] = count

for i in sorted(char_count, key=char_count.get, reverse=True):
    frequency.append((i, char_count[i]))

# 筛选出现次数超过2次的字符
filtered_chars = [char for char, cnt in frequency if cnt > 2]

# 按每行5个字符排版输出
for row_start in range(0, len(filtered_chars), 5):
    print(''.join(filtered_chars[row_start:row_start+5]))

运行效果

代码执行后输出内容为:

htoin
Pa

说明:结合你之前跑出来的统计结果,满足出现次数>2的字符一共7个,按排序顺序依次为h、t、o、i、n、P、a,因此第一行输出前5个字符,第二行输出剩余的2个字符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.25 02:36:03