如何在python中替换字典中的现有键?

2024-10-01 11:29:31 发布

您现在位置:Python中文网/ 问答频道 /正文

所以,我有这个代码。
我想替换python字典中索引1处的特定现有键。 有人对此有想法吗

from collections import OrderedDict
regDict= OrderedDict()
regDict[("glenn")] = 1
regDict[("elena")] = 2
print("dict",regDict)

印刷品:

dict OrderedDict([('glenn', 1), ('elena', 2)])

目标产出:

dict OrderedDict([('glenn', 1), ('new', 2)])  # replacing key in index 1  

Tags: 代码fromimport目标new字典collectionsdict
2条回答

你编字典的方法有点不对劲。让我们从两个列表(一个用于键,一个用于值)创建一个新字典开始:

keys = ['a', 'b', 'c']
vals = [1.0, 2.0, 3.0]

dictionary = {keys[i]:value for i, value in enumerate(vals)}

这给了我们以下信息:

{'a': 1.0, 'b': 2.0, 'c': 3.0}

您还可以到这里获取有关制作词典的更多帮助:Convert two lists into a dictionary

要将“a”键替换为“aa”,我们可以执行以下操作:

new_key = 'aa'
old_key = 'a'

dictionary[new_key] = dictionary.pop(old_key)

给我们:

{'b': 2.0, 'c': 3.0, 'aa': 1.0}

制作词典的其他方法:

dictionary = {k: v for k, v in zip(keys, values)}

dictionary = dict(zip(keys, values))

其中“键”和“值”都是列表

对于字典来说,这是一种非常糟糕的方法,但解决方案如下所示

index = len(regDict)-1
key = list(regDict.keys())[index]
value = regDict[key]
regDict["new"] = value

注意:仅当您要更改上次插入的关键点时,此选项才起作用

相关问题 更多 >