Python 编辑字典中的值
我有一本字典Python 编辑字典中的值,python,dictionary,Python,Dictionary,我有一本字典 TestDict = {'Group1': 'Crew 1', 'Group2': 'Crew 2', 'Group3': 'Crew 3'} 我想编辑字典中的值,以获得所需的输出 {'Group1': 'Group1_Crew_1', 'Group2': 'Group2_Crew_2', 'Group3': 'Group3_Crew_3'} 因此,在上面的示例中,键现在是值的一部分,空格已替换为\uu 到目前为止,我只尝试使用 for key, value in TestDi
TestDict = {'Group1': 'Crew 1', 'Group2': 'Crew 2', 'Group3': 'Crew 3'}
我想编辑字典中的值
,以获得所需的输出
{'Group1': 'Group1_Crew_1', 'Group2': 'Group2_Crew_2', 'Group3': 'Group3_Crew_3'}
因此,在上面的示例中,键
现在是值的一部分
,空格已替换为\uu
到目前为止,我只尝试使用
for key, value in TestDict.items():
newDict = {key: key + "_" + value for key in TestDict}
有问题的是,这会在适当的字典中输出,但是,所有值都是Group3\u Crew 3
。我不确定如何浏览此问题。您可以使用:
{k: k+'_'+v.replace(' ', '_') for k, v in TestDict.items()}
您可以使用:
{k: k+'_'+v.replace(' ', '_') for k, v in TestDict.items()}
您有两个选择:
创建新词典并更新其内容:
newDict = {}
for key, value in TestDict.items():
newDict[key] = key + "_" + value.replace(" ", "_")
或使用听写理解:
newdDict = {key: key + "_" + value.replace(" ", "_") for key in TestDict}
您喜欢将这两个概念混合在一起。您有两个选择:
创建新词典并更新其内容:
newDict = {}
for key, value in TestDict.items():
newDict[key] = key + "_" + value.replace(" ", "_")
或使用听写理解:
newdDict = {key: key + "_" + value.replace(" ", "_") for key in TestDict}
你好像把这两个概念混在一起。你有两个问题
首先,您在TestDict上迭代了两次,您只需要这样做一次。每次通过循环,您都在重新创建newDict的整个新版本,完成后,您只看到最后一个创建的版本
使用其中一个
或
但不要两者兼而有之
(您看到的结果是因为您在每个内部迭代中都会得到一个新的键
,但在外部迭代中只会得到一个值
。)
另外,您没有用下划线替换空格,这可以通过将value
替换为value来实现。在两个版本中,替换('''.''.
。您有两个问题
首先,您在TestDict上迭代了两次,您只需要这样做一次。每次通过循环,您都在重新创建newDict的整个新版本,完成后,您只看到最后一个创建的版本
使用其中一个
或
但不要两者兼而有之
(您看到的结果是因为您在每个内部迭代中都会得到一个新的键
,但在外部迭代中只会得到一个值
。)
另外,您不能用下划线替换空格,这可以通过将value
替换为value.replace('''.'.'
)来实现