python - 将现有字典键中的全名拆分为具有相似键名的新字典键(标题、名字等)

标签 python dictionary formatting key names

我已经完成了用于组织名称的代码。我只需要帮助存储信息。

这是一个示例字典:

{
'FriendName' : 'John Jo Johnson', 
'MomName' : 'Dr. Mom Oclock', 
'DadName': 'Dad Oclock Jr.', 
'BossName: Captain Boss Octopus'}

我需要保留原来的 key 并为每个条目制作 5 个新 key 。 例如:

'FriendName' : 'John Jo Johnson' 需要生成这 5 个新的字典条目并保持原始条目不变:

'FriendName_Title': "",
'FriendName_First': 'John',
'FriendName_Middle': 'Jo',
'FriendName_Last': 'Johnson',
'FriendName_Suffix': ""

此代码将用于 10 个或 1000 个名称,所有其他名称需要遵循以下相同格式:

original_key_name + new designation

我不知道如何从现有字典中复制原始键名或将其保存为变量。有人可以给我解释一下吗?

最佳答案

您可以使用 iteritems() 将原始键名称提取为字符串,这也使您可以访问相应的字典值。 string.split() 会将您的值字符串分解为一个列表,您可以为每个新条目单独访问该列表。

names = {
    'FriendName' : 'John Jo Johnson', 
    'MomName' : 'Dr. Mom Oclock', 
    'DadName': 'Dad Oclock Jr.', 
    'BossName': 'Captain Boss Octopus'
}

names_breakdown = {}
for k, v in names.iteritems():
    s = v.split()
    names_breakdown[k+'_Title'] = ''
    names_breakdown[k+'_First'] = s[0]
    names_breakdown[k+'_Middle'] = s[1]
    names_breakdown[k+'_Last'] = s[2]
    names_breakdown[k+'_Suffix'] = ''

print names_breakdown

关于python - 将现有字典键中的全名拆分为具有相似键名的新字典键(标题、名字等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31733783/

相关文章:

python - 将 spaCy 模型与 AllenNLP Interpret 或 Textattack 结合使用

python - 太早提供输入会导致故障吗?

python - Pandas 将 Dataframe 转换为嵌套的 Json

c# - 使用 C# 将格式从一行复制到另一行

c++ - Boost::log:基于级别的不同格式(HTML 格式)

python - 从 str 或 int 继承

python - 如何一次将一个超大文件读入 numpy 数组 N 行

java - 在 Map 实现中搜索前缀的最佳方法是什么?

c# - 字典更新线程安全

javascript - 聊天 GPT 响应的格式