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

如何合并大小写字母统计列表?现有代码是否可挽救?

解决字母统计列表合并问题

不用重写现有统计代码的合并方法

你不需要重新编写整个统计逻辑,只需要基于已有的small_letter_status和capital_letter_status列表做简单处理即可,分两种场景:

场景1:合并为不区分大小写的总统计列表(26个元素,对应a-z的总出现次数)

直接用列表推导式将两个列表对应位置的数值相加:

# 合并两个列表,每个位置为对应字母大小写的总次数
merged_status = [small + capital for small, capital in zip(small_letter_status, capital_letter_status)]

# 打印合并后的结果
print("\nCombined Letter Count (case-insensitive)")
for idx in range(len(merged_status)):
    print(chr(idx + ord('a')), merged_status[idx])

场景2:合并为区分大小写的完整统计列表(52个元素,包含A-Z和a-z的单独次数)

直接将两个列表拼接即可,顺序可以按需调整:

# 合并为大写在前、小写在后的列表
merged_status = capital_letter_status + small_letter_status

# 打印合并后的结果
print("\nCombined Letter Count (case-sensitive)")
# 打印大写字母部分
for idx in range(26):
    print(chr(idx + ord('A')), merged_status[idx])
# 打印小写字母部分
for idx in range(26, 52):
    print(chr(idx - 26 + ord('a')), merged_status[idx])

可选:优化统计逻辑,直接生成合并列表

如果你想简化代码,可以直接在统计阶段就生成不区分大小写的总列表,避免维护两个单独的列表:

combined_status = [0] * 26

for x in txt:
    if x.isalpha():
        # 将字符转为小写后计算索引,统一统计
        idx = ord(x.lower()) - ord('a')
        combined_status[idx] += 1

# 打印结果
print("\nCombined Letter Count")
for idx in range(len(combined_status)):
    print(chr(idx + ord('a')), combined_status[idx])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 21:10:39