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

如何将Python字典中的全名键转换为缩写首字母?

问题

已有Python字典:

d1 = {'James Williams': 123, 'Adrian Falkenheim': 345}

需要得到目标字典:

d2 = {'JW':123, 'AF':345}

已尝试用for循环和split获取首字母,但不清楚如何生成目标字典。

解决方案

方法1:字典推导式(简洁高效)

这是最Pythonic的写法,直接遍历原字典的键值对,对名字拆分后取首字母拼接作为新键:

d1 = {'James Williams': 123, 'Adrian Falkenheim': 345}
d2 = {''.join(word[0] for word in name.split()): val for name, val in d1.items()}

遍历每个name, val键值对,将名字按空格拆分为单词列表,取每个单词的首字母拼接成缩写,作为新字典的键,对应原数值。

方法2:普通for循环(贴合你的尝试)

如果习惯分步处理,用for循环逐个构建新字典:

d1 = {'James Williams': 123, 'Adrian Falkenheim': 345}
d2 = {}
for name, val in d1.items():
    # 拆分名字为单词列表
    name_parts = name.split()
    # 拼接每个单词的首字母
    initials = ''.join(part[0] for part in name_parts)
    # 将键值对存入新字典
    d2[initials] = val

先初始化空字典d2,遍历原字典的每个键值对,处理名字得到首字母缩写后,把新键值对添加到d2中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 02:25:22