Пайтон - я фигею без баяна
Mar. 5th, 2021 09:37 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
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
Date: 2021-03-06 03:48 am (UTC)no subject
Date: 2021-03-06 04:26 am (UTC)no subject
Date: 2021-03-06 05:03 am (UTC)ÐайÑон Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ запÑÑка ÑÑиÑÐ°ÐµÑ Ñ ÐµÑ ÑÑÑоки по ÑазномÑ. :-)
no subject
Date: 2021-03-06 10:24 am (UTC)Set по опÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð½Ðµ гаÑанÑиÑÑÐµÑ ÑпоÑÑдоÑенноÑÑи ÑлеменÑов. ÐоÑÑÐ¾Ð¼Ñ Ð½Ð°Ð´Ð¾ наобоÑÐ¾Ñ ÑпаÑибо ÑказаÑÑ ÑÑо пайÑоновÑÐºÐ°Ñ Ð¸Ð¼Ð¿Ð»ÐµÐ¼ÐµÐ½ÑаÑÐ¸Ñ Ð·Ð°Ð±ÐµÑплаÑно еÑÑ Ð¸ Ñакие баги оÑловиÑ.
no subject
Date: 2021-03-06 03:28 pm (UTC)???
no subject
Date: 2021-03-06 06:09 pm (UTC)ÐÑ Ð´Ð°. ХоÑÑ Ð¼Ð½Ðµ ÑÑо доÑÑавило ÑÐ¹Ð¼Ñ Ð³Ð¾Ð»Ð¾Ð²Ð½Ð¾Ð¹ боли â Ñ Ð¼ÐµÐ½Ñ ÑÑо ÑандомалÑное Ñ ÐµÑиÑование поÑло в паÑÐ°Ð»Ð»ÐµÐ»Ñ Ñ Ð½ÐµÑколÑкими дÑÑгими пÑоблемами ( о коÑоÑÑÑ Ñ Ð½Ðµ знал) + Ñ Ð¿ÑÑалÑÑ Ð¿ÑоÑкÑлоиÑиÑÑ Ð½ÐµÐºÐ¾ÑоÑÑй ÑеÑнÑй ÑÑик â в ÑезÑлÑÑаÑе из-за ÑÑого недеÑеÑминизма бÑло оÑÐµÐ½Ñ Ñложно ÑвÑзаÑÑ ÐºÐ¾Ð½ÑÑ Ñ ÐºÐ¾Ð½Ñами.
СобÑÑвенно, Ð¼ÐµÐ½Ñ Ñже инÑеÑеÑÑÐµÑ ÑолÑко, каким обÑазом integers ложаÑÑÑ Ð² ÑÑÐ¾Ñ Ñ ÐµÑ-конÑÐµÐ¹Ð½ÐµÑ Ð¿Ð¾ возÑаÑÑаниÑ. ÐÑидеÑÑÑ, навеÑное, ÑмоÑÑеÑÑ ÑоÑÑÑ.
no subject
Date: 2021-03-06 09:41 pm (UTC)Ðа памÑÑÑ Ð¿ÑÐ¸Ñ Ð¾Ð´Ð¸Ñ Ð¸Ð·Ð²ÐµÑÑнÑй баг Ñ Ð¸Ð¼Ð¸ÐºÐ¾Ð², коÑоÑÑй Ð¿Ð¾Ñ ÐµÑил кÑÑÑ ÑÑндаменÑалÑнÑÑ ÑабоÑ. (Там не ÑÑли поÑÑдок ÑоÑÑиÑовки на Ñайловой ÑиÑÑеме в ÑазнÑÑ ÐС.)
no subject
Date: 2021-03-06 11:39 pm (UTC)no subject
Date: 2021-03-07 04:10 am (UTC)