【发布时间】:2019-12-05 13:15:39
【问题描述】:
我有一本字典,有这个值:
{"a": 1, "b": 2, "c": 3}
我想将键 b 重命名为 B,而不会失去它的第二位。在Python 3.7 和更高版本中,字典保留了插入顺序,因此可以依赖键的顺序并且可能意味着什么。我正在寻找的最终结果是:
{"a": 1, "B": 2, "c": 3}
明显的代码是运行:
>>> dictionary["B"] = dictionary.pop("b")
{'a': 1, 'c': 3, 'B': 2}
但是,这并不能按预期保留顺序。
【问题讨论】:
-
所以要修改同一个字典?
-
@RaySteam 是的,最好。
-
@RiccardoBucco 它确实回答了
OrderedDict部分,但不是dict部分。我想我可以编辑我的问题以排除OrderedDict部分。 -
dicts 现在保留插入顺序,但如果您想在特定索引处插入/删除,它们仍然不是数据结构的好选择。因此,要么选择不同的数据结构,要么接受 O(n) 解决方案,例如重新构建整个字典
标签: python python-3.x