如何编写程序统计字符串中相邻相同字符的连续配对次数?
统计字符串中相邻相同字符对的出现次数
嘿,这事儿不难!咱们要统计的是相邻且相同的两个字符组成的对出现的次数,比如你给的例子AAAAATTT里,AA出现了4次(A1&A2、A2&A3、A3&A4、A4&A5),TT出现了2次(T1&T2、T2&T3)。
我用Python写个简单的实现给你看,逻辑超清晰:
# 目标字符串 target_str = 'AAAAATTT' # 用字典存储每个字符对的计数 pair_counts = {} # 遍历字符串,从第一个字符到倒数第二个字符 for idx in range(len(target_str) - 1): current_char = target_str[idx] next_char = target_str[idx + 1] # 仅当两个字符相同时才统计 if current_char == next_char: pair = current_char * 2 # 字典中存在该键则计数+1,不存在则初始化为1 pair_counts[pair] = pair_counts.get(pair, 0) + 1 # 打印最终结果 for pair, count in pair_counts.items(): print(f"{pair}: {count}")
运行这段代码,输出正好是你想要的:
AA: 4
TT: 2
简单拆解下逻辑:
- 用字典
pair_counts存结果,键是字符对(比如AA),值是对应出现次数 - 遍历字符串时,只对比当前字符和下一个字符,相同就生成对应字符对并更新计数
dict.get()方法能轻松处理键不存在的情况,避免报错
如果你的字符串是空的或者长度小于2,这段代码也不会出问题,只会输出空结果,很安全。
内容的提问来源于stack exchange,提问作者Sarah
相关产品推荐
相关产品推荐

