如何执行以下操作,但是new_key是否与old_key之前出现的位置相同?所以解决方案看起来像:
{ 'ONE: 'one', 2:'two', 3:'three' }
示例:
dict[new_key] = dict[old_key]
del dict[old_key]
或者一步到位:
dict[new_key] = dict.pop(old_key)
如果未定义dict [old_key],将引发KeyError。请注意,这将删除dict [old_key]。
>>> dict = { 1: 'one', 2:'two', 3:'three' }
>>> dict['ONE'] = dict.pop(1)
>>> dict
{2: 'two', 3: 'three', 'ONE': 'one'}
>>> dict['ONE'] = dict.pop(1)
Traceback (most recent call last):
File "<input>", line 1, in <module>
KeyError: 1
答案 0 :(得分:1)
字典无序;不要依赖按键的顺序。因此,替换“保持秩序”的关键是没有意义的。
可以使用OrderedDict
执行此操作,但它需要将所有键插入到新的有序字典中(因为您无法插入OrderedDict
的中间)。
答案 1 :(得分:0)
我会使用您描述的方法替换密钥,但请记住,Python dicts在语义上是无序的:
my_dict[new_key] = my_dict.pop(old_key)