>>> stuff = {'age': 23, 'name': 'ZaneTribal', 'height': 74}
>>> print stuff
{'age': 23, 'name': 'ZaneTribal', 'height': 74}
>>> stuff['born in'] = 'Montreal'
>>> print stuff
{'age': 23, 'born in': 'Montreal', 'name': 'ZaneTribal', 'height': 74}
>>> stuff['children'] = 'Nope'
>>> stuff
{'age': 23, 'born in': 'Montreal', 'children': 'Nope', 'name': 'ZaneTribal', 'height': 74}
>>> stuff['zoo'] = 'WTF'
>>> stuff
{'name': 'ZaneTribal', 'age': 23, 'zoo': 'WTF', 'born in': 'Montreal', 'height': 74, 'children': 'Nope'}
当添加到dicts时,Python如何决定放置新密钥的位置?订单显然不是按字母顺序排列,也不是按类型排列。
答案 0 :(得分:3)
字典无序。打印时它们出现的顺序取决于实现的内部细节。
如果您需要保留订单,请使用collections.OrderedDict
。
答案 1 :(得分:2)
订单未定义。 Python可以按照自己想要的顺序放置密钥,这个顺序可以在Python版本之间进行更改。你不应该依赖于dict键的顺序。
答案 2 :(得分:1)
python中的dict实际上是哈希表。
因此,跟踪python放置键的位置是没有意义的,因为散列后的内容应该被认为是随机的。当您使用keys()提取每个键时,您也不应该对订单做任何假设。