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

How to replace existing key in a dictionary in 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  

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

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

注意:这仅在您想要更改最后插入的密钥时才有效

你制作字典的方法有点离谱。让我们从两个列表(一个用于键,一个用于值)创建一个新字典开始:

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

要用'aa'替换'a'键,我们可以这样做:

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))

其中 'keys' 和 'values' 都是列表。