如何仅将Python字典中value值的单词首字母大写其余字母小写
问题原因分析
你写的代码存在两个核心错误:
- 遍历对象错误:
dictionary.values()取出的是字典所有值的集合,也就是那三个字符串列表,本身就无法拆分为k,v两个变量 - 处理逻辑颠倒:你不仅把键转为了大写,还尝试把整个值列表直接转为字符串后转大写,完全没有处理列表内的单个字符串元素,不符合需求目标
正确实现
方式1:字典推导式(生成新字典,不修改原字典)
result = {k: [word.capitalize() for word in v] for k, v in dictionary.items()}
说明:
- 用
dictionary.items()遍历字典的全部键值对,保留原键不变 - 对每个值列表里的单个字符串调用Python内置的
capitalize()方法,自动实现首字母大写、其余字母小写的效果
方式2:原地修改原字典
如果不需要保留原始字典,可以直接修改原有对象:
for k, v in dictionary.items(): dictionary[k] = [word.capitalize() for word in v]
运行结果验证
修改后的字典内容如下:
{'Happy': ['Smile', 'Laugh', 'Beaming'], 'Sad': ['Frown', 'Cry', 'Tears'], 'Indifferent': ['Neutral', 'Bland', 'Meh']}
完全符合需求格式要求。
内容的提问来源于stack exchange,提问作者newbzzs
相关产品推荐
相关产品推荐

