gpt4 book ai didi

python - 重命名字典键

转载 作者:IT老高 更新时间:2023-10-28 12:07:01 26 4
gpt4 key购买 nike

有没有办法重命名字典键,而无需将其值重新分配给新名称并删除旧名称键;并且不遍历dict键/值?

对于OrderedDict,做同样的事情,同时保持那个键的位置。

最佳答案

对于常规字典,您可以使用:

mydict[k_new] = mydict.pop(k_old)

这会将项目移动到字典的末尾,除非 k_new 已经存在,在这种情况下它将就地覆盖该值。

对于 Python 3.7+ 字典,您还想保留顺序,最简单的方法是重建一个全新的实例。例如,将键 2 重命名为 'two':

>>> d = {0:0, 1:1, 2:2, 3:3}
>>> {"two" if k == 2 else k:v for k,v in d.items()}
{0: 0, 1: 1, 'two': 2, 3: 3}

OrderedDict 也是如此,您不能使用 dict 理解语法,但可以使用生成器表达式:

OrderedDict((k_new if k == k_old else k, v) for k, v in od.items())

修改 key 本身,正如问题所要求的那样,是不切实际的,因为 key 是 hashable这通常意味着它们是 immutable并且无法修改。

关于python - 重命名字典键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16475384/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com