Пайтон - я фигею без баяна
s = set()
for i in range(0,10) :
s.add('s'+str(i))
s.add(i)
for i in s :
print(i)
Тестовая программка на питоне. Можно её даже онлайн погонять: https://onlinegdb.com/ByVgsweQ_
При каждом прогоне выдаёт разную последовательность строк. При этом целые значения упорядочены от 0 до 9 (!), а между ними в случайном порядке (!!), всякий раз разном (!!!) располагаются строковые значения. Откровенно говоря, я даже не знаю, какой из этих трёх фактов выглядит более странным.
Вроде везде пишут, что Сеты в Питоне сделаны на хешах.
Как, как им всё это удалось сделать одновременно???
UPD: со строками вроде разобрался - их хеш в Пайтоне рандомизирован (борются с хаккерами).
При случайном закидывании последовательных целых, они оказываются в set упорядоченными, и это как-то мне всё же не нравится.
Осталось разобраться с целыми.
for i in range(0,10) :
s.add('s'+str(i))
s.add(i)
for i in s :
print(i)
Тестовая программка на питоне. Можно её даже онлайн погонять: https://onlinegdb.com/ByVgsweQ_
При каждом прогоне выдаёт разную последовательность строк. При этом целые значения упорядочены от 0 до 9 (!), а между ними в случайном порядке (!!), всякий раз разном (!!!) располагаются строковые значения. Откровенно говоря, я даже не знаю, какой из этих трёх фактов выглядит более странным.
Вроде везде пишут, что Сеты в Питоне сделаны на хешах.
Как, как им всё это удалось сделать одновременно???
UPD: со строками вроде разобрался - их хеш в Пайтоне рандомизирован (борются с хаккерами).
При случайном закидывании последовательных целых, они оказываются в set упорядоченными, и это как-то мне всё же не нравится.
Осталось разобраться с целыми.
no subject
no subject
(no subject)
no subject
Set по опÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð½Ðµ гаÑанÑиÑÑÐµÑ ÑпоÑÑдоÑенноÑÑи ÑлеменÑов. ÐоÑÑÐ¾Ð¼Ñ Ð½Ð°Ð´Ð¾ наобоÑÐ¾Ñ ÑпаÑибо ÑказаÑÑ ÑÑо пайÑоновÑÐºÐ°Ñ Ð¸Ð¼Ð¿Ð»ÐµÐ¼ÐµÐ½ÑаÑÐ¸Ñ Ð·Ð°Ð±ÐµÑплаÑно еÑÑ Ð¸ Ñакие баги оÑловиÑ.
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)