如何替换 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' 都是列表。
所以,我有这个代码。
我想替换 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' 都是列表。