Андрей
Высший разум
(483876)
3 года назад
Это не глюк, а абсолютно нормальное и прописанное в документации поведение.
Порядок элементов в множестве и в ассоциативном массиве (словаре) НЕ ОПРЕДЕЛЁН. Это фундаментальное свойство данных типов данных (именно самих типов данных, а не их реализаций в разных языках программирования).
То, в какой последовательности будут выдаваться элементы этих типов, определяет исключительно интерпретатор Python и повлиять на него ты никак не можешь.
Единственный тип данных, в котором порядок элементов гарантирован, - линейный массив (список, кортеж).
print({i*i, i*i*i})
# {8, 4} Должно {4, 8}
Множество глючит при i=2 и нормально при остальных значениях. Почему так?