@python_beginnersЭта группа больше не существует

Страница 461 из 1885
Viktor
17.09.2016
21:29:45
отлично

а на анаграмичность проверять через Counter норм?

if Counter(a) == Counter(b): print('a аннаграмма b')

Denis
17.09.2016
21:35:29
if sorted(a) == sorted(b):

Google
Zart
17.09.2016
21:35:34
это подклассы дикта

Viktor
17.09.2016
21:36:05
сравнение строк ведь быстрее сравнения списков?

Denis
17.09.2016
21:41:00
Вроде да

Zart
17.09.2016
21:53:42
это задачка на интервалы имхо

Viktor
17.09.2016
21:54:09
"нет числа": оно не встречается в вводе, но вообще существует в множестве 4-х байтных неотрицательных чисел?

Zart
17.09.2016
21:54:10
надо хранить список диапазонов

если новое число попадает в существующий - пропускаем если нет - создаем новый диапазон, или обновляем существующие

рекомендую модуль бисект

b0g3r
17.09.2016
21:55:32
А кинь ссылочку

Viktor
17.09.2016
21:55:54
А кинь ссылочку
Закрытое :(

Zart
17.09.2016
21:55:58
четырёхбайтные неотрицательные - это 2гб... хм

Google
Zart
17.09.2016
21:56:27
если юзать битмапы, то можно 2 лярда представить в виде 256мб поля

вы мне помогите задачу понять, а не решать XD
у тебя есть интервал 0 .. 2гб из него надо выкидывать входящие точки, это будет интервал дробить на новые интервалы хреналлиард чисел спустя, у тебя останется примерно нихуя, что и требуется вывести 8)

а, ну если считать что речь про unsigned long, то даже 0..4гб

Viktor
17.09.2016
21:59:00
если юзать битмапы, то можно 2 лярда представить в виде 256мб поля
т.е. вылелять каждому числу всего бит, а не байт?

Zart
17.09.2016
21:59:20
если решать битмапами - создаем 512мб поле из битов, да

Viktor
17.09.2016
21:59:21
хм

Zart
17.09.2016
21:59:35
а можно создать интервалы - список пар начала/конца

Viktor
17.09.2016
22:00:03
И дробить до посинения?

Zart
17.09.2016
22:00:09
ага

если случай паталогический - скажем точки будут идти сперва строго четные, потом нечетные, то расходы будут огромными

а потом тебе надо найти инверсию похоже

задачка на sparse bitmap похоже

Viktor
17.09.2016
22:06:45
стоп, я вот чего не пойму

числа от 0 до 4294967295, так? значит 4294967296 разных чисел. Если под каждое отводить бит (под информацию о том встречалось ли), то выйдет около 536 мегабайт Сделать это просто: делаем массив из 536870912 char'ов, и в каждой ячейке храним информацию о числах (степенями двойки)

потом просто ищем в этих 500 мегабайтах ноль

Zart
17.09.2016
22:11:56
4гб если каждое будет битом, то 8 чисел на байт, делим на 8 4гб/8 = 512мб ровно

Viktor
17.09.2016
22:12:09
Но массив с 536870912 ячейками нереален, а потому делаем его блоками по, скажем, 4096 ячеек

Zart
17.09.2016
22:12:27
"Но массив с 536870912 ячейками нереален" щито?

Google
Viktor
17.09.2016
22:12:59
точнее он нереален в стеке :)

а вообще я отмажусь что я сонный :)

Denis
17.09.2016
22:15:10
Извращенцы

Viktor
17.09.2016
22:15:52
есть идеи лучше?

Zart
17.09.2016
22:18:57
>>> import array >>> d = array.array('B', '\0'*(2**29)) >>> len(d) 536870912 сука, сожрал даже

>>> d = array.array('B', '\0'*(2**29)) Traceback (most recent call last): File "<stdin>", line 1, in <module> MemoryError на бис уже не может

но тут сперва создается 512мб строка, потом массив из неё инициализируется...

>>> d = bytearray(2**29) >>>

Viktor
17.09.2016
22:35:53
Я на си писать буду :)

бл

вставил 1021 строку в vim

Viktor
17.09.2016
22:37:58
segfault :)

но у меня 40 секунд всего осталось :(

segfault :)
или коротко о том почему я собственно говоря переходил на питон

Leonid
17.09.2016
23:38:47
Viktor
17.09.2016
23:39:01
Ага

Leonid
17.09.2016
23:39:45
Ага
Если норм, то позовут на собеседование что ли?

John
17.09.2016
23:40:23
А кто-то имеет реальные/завершенные проекты на kivy/python? Я разумеется про android приложения

Или это совсем зашквар?

Google
Viktor
17.09.2016
23:42:47
Это отбор на "открытые курсы"

Но я скорее всего не пойду

Даже если пройду

Leonid
17.09.2016
23:43:24
Viktor
17.09.2016
23:43:30
Admin
ERROR: S client not available

Viktor
17.09.2016
23:44:27
Просто у нашего университета партнёрство с мэйлру

Leonid
17.09.2016
23:45:02
Корпорация зла)

P.S. John Doe из мэилру

John
17.09.2016
23:49:55
Что-то меня на стикеры прорвало

Про киви вообще никто/ничего?(

Leonid
17.09.2016
23:50:17
Про киви вообще никто/ничего?(
Ща спят и зайди в питончат

Там 1200 чел

Максим
18.09.2016
06:50:52
Как перевести число из десятичной системы в двоичную, там есть какой-то метод или надо писать алгоритм?

Даниил
18.09.2016
07:08:02
bin(1337) - переведёт 1337 в двоичную систему счисления

А если нужно без приставки 0b, то: "{0:b}".format(int) - где int - число

т.е: >>>> "{0:b}".format(551125) '10000110100011010101'

В Python очень, очень большая стандартная библиотека, там множество вещей есть полезных

Google
Даниил
18.09.2016
07:11:43
https://docs.python.org/2/library/ тут настолько много библиотек...

Максим
18.09.2016
07:19:45
Спасибо

Даниил
18.09.2016
07:22:30
И вообще, есть гугл :) Ну я просто говорю, понимаю, что тут чат для тех, кто как раз ищет что-то

Denis
18.09.2016
08:05:51
bin(1337)[2:]

Viktor
18.09.2016
08:13:45
Кстати, есть в стдлибе что-нибудь для перевода из/в произвольные системы счисления?

Ну, из вижу: base у int

А в только самому писать, или gmpy...

Хех, сам спросил, сам ответил :)

Даниил
18.09.2016
08:43:43
Denis, я знаю, что это проще, но "{0:b}".format(int) красивее :)

Viktor
18.09.2016
08:46:15
Denis, я знаю, что это проще, но "{0:b}".format(int) красивее :)
Если ты хотел его упомянуть, то надо было писать @ bladdon (без пробела)

Zart
18.09.2016
08:55:03
перевод в пишется в 4-5 строк кода

Юкер
18.09.2016
08:57:48
По-моему, сюда когда-то вкидывали то ли канал, то ли чат исключительно с книгами по питону. Напомните, пожалуйста, было ли такое, и скиньте ссылку.

Zart
18.09.2016
08:59:10
в инфу канала посмотри

Юкер
18.09.2016
09:01:57
в инфу канала посмотри
Ссылки на четыре чата и канал с вакансиями.

Zart
18.09.2016
09:02:33
а чуть ниже - шаред медиа, вкючая кучу пдфок

Страница 461 из 1885

Эта группа больше не существует Эта группа больше не существует