将现有字典键中的全名拆分为具有相似 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
我已经完成了组织名称的代码。我只是需要帮助存储信息。
这是一个示例字典:
{
'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