
Александр
20.03.2017
14:08:38
http://www.ozon.ru/context/detail/id/4884925/
Кто-нибудь читал?

Sergey
20.03.2017
14:25:52

Serge
20.03.2017
14:37:54

b0g3r
20.03.2017
14:38:23
Почему?

Google

b0g3r
20.03.2017
14:38:35
Мне кажется наоборот, как будто tuple

Serge
20.03.2017
14:39:56

b0g3r
20.03.2017
14:40:05
Нет
Это генератор же?

Serge
20.03.2017
14:40:20
ну вот. там была строка с квадратными скобками и без них

b0g3r
20.03.2017
14:40:23
Да
Я просто говорю про то, что это не нагляднее

Serge
20.03.2017
14:40:43
whatever

b0g3r
20.03.2017
14:40:47
Со скобками для новичка будет выглядеть как tuple
Потому что еще есть сет и лист компрехеншн

Serge
20.03.2017
14:41:02
дискуссия начала есть сама себя

Eugene
20.03.2017
14:41:25
я считаю, что в питоне плохое решение с этими скобками. Двоякое назначение скобок запутывает и усложняет парсер, который итак кривой.

Serge
20.03.2017
14:41:48

Google

Eugene
20.03.2017
14:42:07
то тебе tuple, а то нет, вот тебе словарь {}, а вот множество {1,2,3}

Serge
20.03.2017
14:42:28
мы на митапе последнем обсуждали, что пора еще сделать асинхронные генераторы и для них можно треугольные скобки использовать
они свободны пока
опять же после f-строк - еще один шаг в пхп:)

GNU/Docker
20.03.2017
14:43:22
Подлива.

Danil
20.03.2017
14:43:26
кстати тоже излишне будет и не в стиле asyncio ))
async [... for ... in ...]
async (... for ... in ...)

Serge
20.03.2017
14:43:49

Danil
20.03.2017
14:43:57

Serge
20.03.2017
14:44:15
async for внутрь?:)

Danil
20.03.2017
14:44:18

Serge
20.03.2017
14:44:32
ну это просто

Danil
20.03.2017
14:44:43
async for внутрь?:)
https://www.python.org/dev/peps/pep-0492/#asynchronous-iterators-and-async-for

Serge
20.03.2017
14:44:45
foo = async lambda x: x

GNU/Docker
20.03.2017
14:45:09
> lambda assignment

Serge
20.03.2017
14:45:44
bar = await (x async for x in async lambda: range (5))
больше ада:)

Danil
20.03.2017
14:46:11

Serge
20.03.2017
14:48:49
https://twitter.com/lig1/status/843836691068653568

Sergey
20.03.2017
15:03:37

Serge
20.03.2017
15:07:57

Google

Vλαdmιr
20.03.2017
16:31:39
помогите с lxml братцы.
for post in tree.xpath("//div[contains(concat(' ', @class, ' '), ' entry-content ')]"): - как напечатать содержимое post? post.text пустой

Sergey
20.03.2017
16:35:07
попробуй from lxml.{html,etree} import tostring

Michael
20.03.2017
17:03:38

GNU/Docker
20.03.2017
17:04:04
так было же
самый быстрый вариант в pypy такой:
def fn():
x = 0
for line in open('1.txt'):
x += int(line)
return x
10.4 - это что я написал

Michael
20.03.2017
17:04:23
А блин. ок

Roman
20.03.2017
18:19:29

Jonh
20.03.2017
21:14:40
В pypy 3.5 привезли
http://doc.pypy.org/en/latest/release-v5.7.0.html

Danil
20.03.2017
21:31:34

Dmitry
20.03.2017
22:03:35
вот вам для вдохновения :) сейчас абродик — фаундер диджитал-агентства в штатах и он ответил мне, почему они решили открыть офис именно в питере: https://twitter.com/abroadunderhood/status/843944297489608705

Roman
20.03.2017
22:22:43

BaLoo
20.03.2017
22:23:24
Всем доброй ночи.
Помогите соптимизировать функцию из 9 строк, плиз.
Выглядит как-то так:
http://pastebin.com/2Gr1UiR7
Для списка строк создаёт сет из всех их подпоследовательностей длины k.

Sergey
20.03.2017
22:25:32

BaLoo
20.03.2017
22:25:52

Dmitry
20.03.2017
22:32:48

BaLoo
20.03.2017
22:33:35

Sergey
20.03.2017
22:34:42

BaLoo
20.03.2017
22:35:47

Google

Sergey
20.03.2017
22:36:02

Admin
ERROR: S client not available

BaLoo
20.03.2017
22:37:25

Sergey
20.03.2017
22:38:44
а задачу в целом можешь рассказать?

BaLoo
20.03.2017
22:39:04

Dmitry
20.03.2017
22:39:06
> Для списка строк создаёт сет из всех их подпоследовательностей длины k.
> Подпоследовательностью строки T называется строка, составленная из символов строки T, взятых в том порядке, в котором они входят в эту строку
тебе достаточно информации? :)

Sergey
20.03.2017
22:40:23

Dmitry
20.03.2017
22:40:31
ага

Sergey
20.03.2017
22:40:36
это может быть неправильной попыткой решить другую задачу

Dmitry
20.03.2017
22:40:53
аа, http://xyproblem.info/
да, согласен
но только тогда надо спрашивать не а задачу в целом можешь рассказать, надо спрашивать как у тебя возникла эта задача, наверное

Sergey
20.03.2017
22:41:50
согласный

Roman
21.03.2017
00:00:39

Eugene
21.03.2017
00:13:06
Что логотип означает, интересно? Просто красивая картинка? Напоминает Google chrome. :)

Serge
21.03.2017
01:02:51

Google

Serge
21.03.2017
02:16:12


Dmitry
21.03.2017
02:33:02
Всем доброй ночи.
Помогите соптимизировать функцию из 9 строк, плиз.
Выглядит как-то так:
http://pastebin.com/2Gr1UiR7
Для списка строк создаёт сет из всех их подпоследовательностей длины k.
поковырял я эту задачу основательно, но чото быстрее чем у Сергея Сковородкина не вышло >_<
Алгоритмическая проблема в том, что это n^2 в худшем случае. Suffix tree с этим в теории должна несколько помочь, но как её приспособить сюда - надо ещё подумать.
Если попытаться оптимизировать на уровне кода, то вариант с map + zip фигически быстр, в несколько раз быстрее серёжиного (насколько я мерил):
```def find_ngrams(input_string, n):
ngrams_as_list = list(zip(*[input_string[i:] for i in range(n)]))
as_strings = list(map(lambda arr: ''.join(arr), ngrams_as_list))
return as_strings
ngrams_by_string = itertools.chain.from_iterable(
map(
lambda s: find_ngrams(s, required_length),
str_list
)
)```всё портит тот факт, что это будет лист с дубликатами, а не сет ( А в сет его превратить очень дорого.


Serge
21.03.2017
02:35:12
поковырял я эту задачу основательно, но чото быстрее чем у Сергея Сковородкина не вышло >_<
Алгоритмическая проблема в том, что это n^2 в худшем случае. Suffix tree с этим в теории должна несколько помочь, но как её приспособить сюда - надо ещё подумать.
Если попытаться оптимизировать на уровне кода, то вариант с map + zip фигически быстр, в несколько раз быстрее серёжиного (насколько я мерил):
```def find_ngrams(input_string, n):
ngrams_as_list = list(zip(*[input_string[i:] for i in range(n)]))
as_strings = list(map(lambda arr: ''.join(arr), ngrams_as_list))
return as_strings
ngrams_by_string = itertools.chain.from_iterable(
map(
lambda s: find_ngrams(s, required_length),
str_list
)
)```всё портит тот факт, что это будет лист с дубликатами, а не сет ( А в сет его превратить очень дорого.
А у тебя, смотрю, время свободное появилось...;)


Dmitry
21.03.2017
02:40:25
и ещё оказывается в питоне нету нормальной обвязки C-кода с имплементацией suffix tree. Они все либо на питоне написаны, либо <= 2005 года
вероятно готовое уже есть решение для быстрого поиска unique ngrams из листа строк, кстати - это я не смотрел. Где-нибудь в лингвистических/биотех либах.
задача прикольная, напишите если ещё кто смотрел, мне интересно — может я очевидные вещи пропустил :)


BaLoo
21.03.2017
08:38:51
поковырял я эту задачу основательно, но чото быстрее чем у Сергея Сковородкина не вышло >_<
Алгоритмическая проблема в том, что это n^2 в худшем случае. Suffix tree с этим в теории должна несколько помочь, но как её приспособить сюда - надо ещё подумать.
Если попытаться оптимизировать на уровне кода, то вариант с map + zip фигически быстр, в несколько раз быстрее серёжиного (насколько я мерил):
```def find_ngrams(input_string, n):
ngrams_as_list = list(zip(*[input_string[i:] for i in range(n)]))
as_strings = list(map(lambda arr: ''.join(arr), ngrams_as_list))
return as_strings
ngrams_by_string = itertools.chain.from_iterable(
map(
lambda s: find_ngrams(s, required_length),
str_list
)
)```всё портит тот факт, что это будет лист с дубликатами, а не сет ( А в сет его превратить очень дорого.
Основательный подход, спасибо.
Да сет набивать элементами дорого, с какой стороны к этому не подойди, а лучше set comprehension с этой проблемой вряд ли что-то справится.


Александр
21.03.2017
08:52:29

Roman
21.03.2017
09:04:07