这是我在 Python 集合中注意到的奇怪的事情。我读到集合中没有顺序,但它确实从 0 到 79 弹出较低的元素,后来从 79 到 127 弹出。它不再弹出较低的元素。只有在 128 到来之后,79 才会被弹出。为什么会这样呢?
有没有其他方法可以在 Python 中使用有序数据结构?
为什么它从 0 到 79 之间而不是从 79 到 127 之间弹出最低值?
>>s = set()
>>s.add(72)
>> s.add(74)
>> s.add(76)
>> s.pop()
72
>> s.add(79)
>> s.pop()
74
>> s.add(81)
>> s
set([81, 76, 79])
>> s.pop()
76
>> s.add(83)
>> s
set([81, 83, 79])
>> s.add(85)
>> s
set([81, 83, 85, 79])
>> s.pop()
81
>> s
set([83, 85, 79])
根据字典中元素的插入和删除,存在“一致”的内部顺序。看:http://docs.python.org/library/stdtypes.html#dict.items http://docs.python.org/library/stdtypes.html#dict.items
据我所知,集合使用相同的哈希实现,并且很可能具有相同的排序效果。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)