Могу я просто добавить; люди всегда предполагают, что это компьютерная проблема, но если вы считаете своими руками (база 10), вы не можете получить (1/3+1/3=2/3)=true
, если у вас нет бесконечности, чтобы добавить 0.333 ... в 0.333 ... так, как и с (1/10+2/10)!==3/10
в базе 2, вы обрезаете ее до 0,333 + 0,333 = 0,666 и, вероятно, округлите ее до 0,677, что также будет технически неточным.
Подсчитайте в тройном, а третья не проблема, может быть, какая-то гонка с 15 пальцами на каждой руке спросит, почему ваша десятичная математика была сломана ...
Dictionary
s работают с клавишами Hashable
и реализуются с использованием хэш-таблицы , часто используемого способа представления ассоциативных массивов с поиском O(1)
. Таблицы хэшей обычно сортируются по целочисленному значению хеш-кода для небольших чисел пар ключ-значение (ниже порога ведра), а после этого - в порядке обратного ввода. Это означает, что вы не можете полагаться на хэш-таблицы, которые должны быть отсортированы в любом разумном или предсказуемом порядке в большинстве случаев.