Since dict
对象在 Python 3.7+ 中具有本机键顺序(https://docs.python.org/3/whatsnew/3.7.html),应该有一种方法来管理订单。有官方文档可供我阅读吗?
在我的具体情况下,我想解决这些问题无需创建新字典.
- 在开头添加一个新的键值对。
- 按键对字典中的记录进行排序。
对于第一个:
dct = {'b': 5, 'c': 6}
dct['a'] = 4 # What should be here
print(dct) # I want it to be {'a': 4, 'b': 5, 'c': 6}
对于第二个:
dct = {'b': 5, 'c': 6, 'a': 4}
dct.sort_somehow('...') # What should be here
print(dct) # I want it to be {'a': 4, 'b': 5, 'c': 6}
如果你必须就地改变字典,可以使用.clear()
清除它,然后.update
将新值放入。
>>> dct = {'b': 5, 'c': 6, 'a': 4}
>>> sorted_key_values = sorted(dct.items())
>>> dct.clear()
>>> dct.update(sorted_key_values)
>>> dct
{'a': 4, 'b': 5, 'c': 6}
请注意,这仍然消耗与字典中键/值的数量成比例的内存量。就地排序非常困难或不可能(如不使用任何额外内存),请参阅python - 就地排序字典 - VoidCC.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)