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

Python统计区分大小写的字符串字符时出现空字典问题

问题分析与修复

你的代码逻辑完全颠倒了:

  • 当字符不在字典中时,你仅执行a=1占位,未将字符添加到字典
  • 当字符在字典中时才尝试赋值,但初始字典为空,所有字符首次出现都不会触发else分支;后续重复字符因从未被加入字典,依然无法触发else,最终字典始终为空

修复后的代码

要统计区分大小写的不同字符(每个字符对应值设为1),只需在字符不在字典时将其加入即可:

input_str = "AAaabbBBCC"
histogram = dict()
for val in input_str:  # 直接遍历字符串更简洁,无需通过索引
    if val not in histogram:
        histogram[val] = 1

print(histogram)
# 输出: {'A': 1, 'a': 1, 'b': 1, 'B': 1, 'C': 1}

额外优化(可选)

如果只想快速生成目标字典,还可以用字典推导式一行实现:

input_str = "AAaabbBBCC"
histogram = {char: 1 for char in set(input_str)}
# 注意:集合是无序的,因此字典键的顺序可能与原字符串不同,但内容完全符合要求
print(histogram)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 08:30:35