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('''.'.'
)来实现