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

Страница 941 из 1885
Igor
17.12.2016
22:04:22
>>> pattern = re.compile(r'(\d)\1{2,}') >>> test = re.findall(pattern, line) >>> print(test) ['2']

найди одно отличие!

подсказка: >>> print('(\d)\1{2,}') (\d){2,} >>> print(r'(\d)\1{2,}') (\d)\1{2,}

(ну ладно, это не подсказка, это ответ)

Google
Alex
17.12.2016
22:05:07
r ? а разве оно надо когда compile`ом собираешь ?

b0g3r
17.12.2016
22:05:32
[match.group() for match in pattern.finditer(line)]

Igor
17.12.2016
22:05:35
какая разница, чем собираешь у тебя экранирование строки сожрало \1

Yan?
18.12.2016
05:14:52
Вот не самой лучшей идей было weak private method/variables лексически через _ выделять, а сильныее через __ Читается немного искусственно что ли

Учитывая, что в zen-e написано Readability counts.

Amaro
18.12.2016
07:47:20
Подчеркивание в приватных методах характерно для многих языков и является общепринятой практикой, Питон ничего не придумал, просто взял готовое.

Поэтому как раз это соответствует идее readability - легко понимается теми, кто не знаком с Питон, но знает, например, плюсы.

Zart
18.12.2016
09:04:52
питон вместо protected/private использует соглашение _ и __ в начале метода/поля

Greg
18.12.2016
09:42:13
ГАйс, привет!

Юра
18.12.2016
09:50:05
Привет всем

Google
Zart
18.12.2016
09:50:48
в стдлибе есть дом, сакс и етри. лхмл использует libxslt/libxml2 на плюсах для тех же интерфейсов

хочешь сказать тебе ни один из вариантов не подошел?

мелкософтовский вариант дом правда был удобнее по мне

я уже упомянул три варианта первые два пришли из жабы - DOM, где весь xml парсится в древовидную структуру и полностью содержится в памяти это позволяет бегать по всему файлу туда-сюда и манипулировать кусками как угодно

тнн Itjunky
18.12.2016
09:53:54
Минутка нубских вопросв от ITJunky

Zart
18.12.2016
09:54:45
второй - SAX - тоже из жабы, потоковый разбор в этом апи хмл разбивается на токены - теги и текст между ними для каждого токена вызывается метод-обработчик это позволяет обрабатывать гигантские объемы данных не тратя память, и довольно быстро. но понятно что некоторые вещи делать сложнее

тнн Itjunky
18.12.2016
09:55:03
Как правильно впихуячить один список в другой?

Zart
18.12.2016
09:55:35
третий - etree - это питоновая обёртка вокруг DOM, делает то же что и дом, но при этом обращение к тэгам более питоновое - слайсами и итерацией

Denis
18.12.2016
09:56:04
тнн Itjunky
18.12.2016
09:56:29
Ну вот я пытаюсь сразу в нулевой элемент сувать, по коду видно должно быть

Denis
18.12.2016
09:56:42
В нулевом элементе ничего нет

тнн Itjunky
18.12.2016
09:56:46
да

Denis
18.12.2016
09:56:48
Потому что список пустой

Zart
18.12.2016
09:56:53
он пытается какуюто непонятную фигню сотворить..

тнн Itjunky
18.12.2016
09:56:55
и вот тут мой мозг сломался

Denis
18.12.2016
09:56:56
Может, тебе append надо?

Zart
18.12.2016
09:57:19
зачем вообще level

тнн Itjunky
18.12.2016
09:57:31
Хотя, видимо я туплю, надо подумать в сторорну индекса

Zart
18.12.2016
09:57:34
пихай в стек напрямую, без [level]

Denis
18.12.2016
09:57:40
Я вообще не очень понял, что в стеке хранится и зачем там буквы

Google
тнн Itjunky
18.12.2016
09:57:41
Ща задачу дам

Zart
18.12.2016
09:57:46
level будет равным размеру стека len(stack)

тнн Itjunky
18.12.2016
09:57:52
1. Написать код (с помощью регулярных выражений и без них) для удаления из строки незакрытых скобок вместе с их содержимым, если после них нет закрытых блоков: 'esdfd((esdf)(esdf' -> 'esdfd((esdf)'. Написать тесты для этого кода.

И у меня мозг скрепит над ней

Zart
18.12.2016
09:58:18
ну общая идея в целом верна

Denis
18.12.2016
09:58:35
Зачем в стек букву пихать?

тнн Itjunky
18.12.2016
09:58:42
Ещё условие странное, из которого выходит что напечатаются только первые символы

Ещё ломается мозг на том, что надо собирать скобки с самого нижнего уровня

а вконце понять, что самая первая скобка не закрыта -=))))

level будет равным размеру стека len(stack)
ннннуууууууу, ты чот не то сказал

Это же длинна

А не вложенность

Zart
18.12.2016
10:05:42
вложенность скобок равна глубине твоего стека

подумай еще раз

тнн Itjunky
18.12.2016
10:05:50
Ога

а не количеству элементов стэка

Denis
18.12.2016
10:06:38
Что хранится в стеке?

тнн Itjunky
18.12.2016
10:06:54
списки с содержимым скобок

Zart
18.12.2016
10:06:59
если у тебя стек будет из набегающих строк или листов с символами, то таки колву элементов стека

тнн Itjunky
18.12.2016
10:07:00
по задумке, пока не так

Google
Denis
18.12.2016
10:07:19
Я думал, там хранятся символы, а не списки

тнн Itjunky
18.12.2016
10:07:36
Список в списке, а там уже символы

Или 3 уровня вложенности, это не важно

Denis
18.12.2016
10:08:06
Пока этого не видно

Zart
18.12.2016
10:08:16
в условии сказано про кривые открытые скобки лишних закрывающих не будет?

Admin
ERROR: S client not available

тнн Itjunky
18.12.2016
10:08:25
Ну да

закрывающие пофигу, видимо

Zart
18.12.2016
10:08:39
эээ

тнн Itjunky
18.12.2016
10:08:42
Но, по хорошему надо всё учесть

Zart
18.12.2016
10:09:48
хм... а вообще стек не нужен

тнн Itjunky
18.12.2016
10:10:08
Я решил попробовать первое, что пришло в голову

Но пока затык именно на добавлении списка внутрь списка и понимании уровня вложенности

Для контроля последующего добавляения в финальную строку

Zart
18.12.2016
10:11:12
а не, стек нужен для откатов на неверные скобки, хм

но в него достаточно заносить индексы

тнн Itjunky
18.12.2016
10:12:22
Ну да, это несколько сократит заморочки

list.index(x, [start [, end]]) Возвращает положение первого элемента со значением x (при этом поиск ведется от start до end) Блин, получается по raw_string.index('('), я всегда буду получать одно и то же значение

Хотя, можно положить прошлое в старт

Это какраз и будет level

Google
pride
18.12.2016
10:20:17
Мне кажется что Zart это ИИ который ловко соскочил с теста Тьюринга и теперь скрывается в этом чатике. >_>

arisu
18.12.2016
10:22:01
Тьюринговый наркоман

pride
18.12.2016
10:23:36
Есть такая штука, некий sub парсит две странчики в инете (с цитатами) и выдёргивает случайную через random.randint (известно точное количество цитат на каждой, соответственно идёт рандомим стр 1 или 2 если стр 1 то рандомим с 1 по 20 и выдаем если стр 2 то рандомим с 1 по 13 и выдаем когда я этот сабс пускаю отдельно, цитаты редко однинаковые выдает подряд как только в продакшне - через раз повторы я подозреваю что рандом куплен госдепом, но как проверить хз)

pride
18.12.2016
10:25:06
Зарт, я в хорошем смысле же)

я тебя по утрам вместо газеты читаю

pride
18.12.2016
10:25:51
телеграмобот

Zart
18.12.2016
10:26:00
просто если чемнить что крутит пачку процессов - то в каждом по одинаковому рандомсиду 8)

тнн Itjunky
18.12.2016
10:26:09
Его ещё и в трай пришлось обернуть

pride
18.12.2016
10:26:49
видно понравились ему пара цитат вот и продвигает, ладно, засуну в лог и посмотрю стату не за два дня а за неделю

Zart
18.12.2016
10:27:47
короче алгоритм у тебя такой - когда находишь открывающую скобку - начинаешь новый уровень аккумулятора закрывающую - берешь весь аккумулятор и плюсуешь его к уровню ниже если закрывающая добралась до нулевого уровня - выводишь накопленное

тнн Itjunky
18.12.2016
10:29:10
Да, но как начать этот уровень? =)

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

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