Python-重命名字典键

有没有一种方法可以重命名字典键,而无需将其值重新分配给新名称并删除旧名称键;而且没有迭代字典键/值?

对于OrderedDict,在保持键的位置的同时执行相同的操作。

回答:

对于常规命令,可以使用:

mydict[new_key] = mydict.pop(old_key)

对于OrderedDict,我认为你必须使用一种理解来构建一个全新的。

>>> OrderedDict(zip('123', 'abc'))

OrderedDict([('1', 'a'), ('2', 'b'), ('3', 'c')])

>>> oldkey, newkey = '2', 'potato'

>>> OrderedDict((newkey if k == oldkey else k, v) for k, v in _.viewitems())

OrderedDict([('1', 'a'), ('potato', 'b'), ('3', 'c')])

正如这个问题似乎提出的那样,修改密钥本身是不切实际的,因为dict密钥通常是不可变的对象,例如数字,字符串或元组。你可以尝试在python中实现“重命名”,而不是尝试修改键,而是将值重新分配给新键并删除旧键。

以上是 Python-重命名字典键 的全部内容, 来源链接: utcz.com/qa/421557.html

回到顶部