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

Split a full name in an existing dictionary key into new dictionary keys(title, first, etc.) with similar key-names

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

这是一个示例字典:

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

我需要保留原始密钥并为每个条目制作 5 个新密钥。 例如:

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

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

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

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