Как известно, некоторые структуры данных Python используют хэш-таблицы для хранения таких элементов, как set
или dictionary
. Таким образом, в этих объектах нет порядка. Но кажется, что для некоторых последовательностей чисел это неверно.
Например, рассмотрим следующие примеры:
>>> set([7,2,5,3,6])
set([2, 3, 5, 6, 7])
>>> set([4,5,3,0,1,2])
set([0, 1, 2, 3, 4, 5])
Но он не сортируется, если мы сделаем небольшое изменение:
>>> set([8,2,5,3,6])
set([8, 2, 3, 5, 6])
Итак, вопрос: как работает хэш-функция Python над целыми последовательностями?