重命名字典中的键

16

如何在 Python 字典中更改键名?

一个程序返回一个字典,除了需要更改一些键的名称外,字典本身是没有问题的。以下代码将字典条目(key=value)复制到一个新的条目,并使用所需的键名删除旧的条目。是否有更多Python风格的方法,也许不需要复制值?

my_dict = some_library.some_method(scan)
my_dict['qVec'] = my_dict['Q']
my_dict['rVec'] = my_dict['R']
del my_dict['Q'], my_dict['R']
return my_dict
1个回答

44

dict的键是不可变的,这意味着它们不能被改变。你可以从文档中了解更多信息。

字典的索引是键,可以是任何不可变类型

这里有一个使用dict.pop的解决方法。

>>> d = {1:'a',2:'b'}
>>> d[3] = d.pop(1)
>>> d
{2: 'b', 3: 'a'}

如果键不存在,这将抛出一个错误。解决方法是 d[new_key] = d.pop(old_new, default_value),例如:d[3] = d.pop(0, -1) 如果 0 不在 d.keys() 中,它将分配 -1 而不是抛出错误。 - RevolverRakk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接