操作字典时,可能需要重命名键而不将其值重新分配给新名称或迭代字典。这可以根据所使用的字典类型使用不同的方法来实现。
对于常规 Python 字典,可以使用以下代码片段:
<code class="python">mydict[k_new] = mydict.pop(k_old)</code>
这会移动对应的项目到要重命名到字典末尾的键,除非 k_new 已存在于字典中,在这种情况下,它将用重命名键中的值覆盖现有值。
对于 Python 3.7 OrderedDict 其中需要保留键的顺序,需要创建字典的新实例。例如,要将键 2 重命名为“two”:
<code class="python">d = {0:0, 1:1, 2:2, 3:3} new_d = { "two" if k == 2 else k: v for k, v in d.items() }</code>
同样的方法可以应用于 OrderedDicts,使用生成器表达式:
<code class="python">new_od = OrderedDict( (k_new if k == k_old else k, v) for k, v in od.items() )</code>
值得注意的是,修改正如问题所示,密钥本身通常是不可行的,因为字典中的密钥通常是可散列且不可变的。
以上是如何在Python中重命名字典键而不重新分配或迭代?的详细内容。更多信息请关注PHP中文网其他相关文章!