
Человек
23.12.2016
07:33:50

Vadim
23.12.2016
07:52:02
умею всё
Человек, расскажи как научился всему. Тут канал начинающих, советы тут любят

Человек
23.12.2016
07:52:33
Ещё со школы начал пробовать всё помаленьку
Потом пошёл работать и учился у умеющих людей

Google

Человек
23.12.2016
07:52:52
так и научился

Amaro
23.12.2016
07:53:05
И даже в области балета Н впереди планеты всей.

Человек
23.12.2016
07:57:20
Не
Но я могу научиться

Roman
23.12.2016
08:04:15

Человек
23.12.2016
08:04:44

Roman
23.12.2016
08:04:57

arisu
23.12.2016
08:24:43
господа фрилансеры за 300к в секунду

ManyaMaker
23.12.2016
08:24:54
а

arisu
23.12.2016
08:24:57
есть небольшая задачка
есть некий список строк
из него нужно выкинуть все строки, которые являются вхождениями других

Google

arisu
23.12.2016
08:25:39
как за минимальное число операций совершить это?
например
["amy", "my", "am", "amber"] -> ["amy", "amber"]

Темный
23.12.2016
08:27:02
коллекшн?

Человек
23.12.2016
08:27:37
Отсортировать по возрастанию символов
Начиная с первого сверять с остальными
последний не трогать
ходить по массиву лучше сразу с конца в таком случае
типа
берёшь первый, сравниваешь с последним(N), затем с (N-1), (N-2) и т.д.

Роман
23.12.2016
08:30:46
что-то жесть
а нельзя по второму списку пройтись и сделать remove в первом?

Человек
23.12.2016
08:31:11
это оптимизация

Pavel
23.12.2016
08:31:12

Человек
23.12.2016
08:31:23

Pavel
23.12.2016
08:31:25
то есть по длине

arisu
23.12.2016
08:46:12
решил проблему по-другому
не надо было мне исключать вхождения)

Человек
23.12.2016
08:47:03

Zart
23.12.2016
08:47:10
взял и всё тз изменил

Google

Человек
23.12.2016
08:47:24
типичный такой заказчик

arisu
23.12.2016
08:48:03
ну задача вам на интерес, а мне просто нужно было слова поискового запроса подсветить, без перекрывания совпадений
с этим отлично справится регулярное выражение, я думаю

Johnnie
23.12.2016
08:50:12
типичный такой заказчик
"эта задача может быть реализована только вместе с этим уточнением. Нет смысла переносить без этого требования. Считайте, что это дополнение при тестировании." (с) реальный заказчик

Человек
23.12.2016
08:50:40
лол

arisu
23.12.2016
08:53:40
давайте еще на смекалку
что вернет этот код:
(word for word in search_query.split(" ") if word)

Zart
23.12.2016
08:54:23
filter(None, search_query.split()) ?

Roman
23.12.2016
08:55:05
word for word ? это как вообще

Zart
23.12.2016
08:55:15
нормально это

Человек
23.12.2016
08:55:19
if word

Zart
23.12.2016
08:55:21
обычный компрехеншен

Человек
23.12.2016
08:56:08
первое слово вернет

Zart
23.12.2016
08:56:17

Dmitriy
23.12.2016
08:56:49
Генератор вернет

Человек
23.12.2016
08:57:45
какой-то сложный ребус

Igor
23.12.2016
08:58:14
имхо, должен вернуть генератор, перечисляющий наборы символов, которые разделялись пробелом в поисковом запросе
"наборы символов" можно упростить и назвать "слова" (но там, конечно, всякое "f00bar" тоже может встречаться)
if word избавит от случая, когда word == ''
а такое может произойти если юзер поставил несколько пробелов подряд например
заебись, угадал
а search.query.split() не совсем корректно по сравнению с оригинальным условием, ибо \n и \t тоже будут учитываться %)

Google

Zart
23.12.2016
09:01:28
я вот не понимаю почему люди любят делать сплит по пробелу, вместо дефолта
который сплитит по вайтспейсу

Igor
23.12.2016
09:01:47
+1, но ¯\_(ツ)_/¯

Alexey
23.12.2016
09:02:29

Igor
23.12.2016
09:03:09
ух ты, спасибо, узнал про filter(None, ..)
думал, туда только callable можно

Admin
ERROR: S client not available

Zart
23.12.2016
09:03:24
еще есть map(None

Igor
23.12.2016
09:03:33
(дада, я отличное подтверждение тому, что люди не читают доку или читают невнимательно)

Stanislav
23.12.2016
09:05:03
Азаза, фрилансер 60к+ порвался)))
if word
первое слово вернет

Zart
23.12.2016
09:05:52

Dmitriy
23.12.2016
09:07:14
Не минимально, но что-то

arisu
23.12.2016
09:10:16
алсо, if word отсекает пустые

Zart
23.12.2016
09:11:06

arisu
23.12.2016
09:11:37
бля
зарт

Google

arisu
23.12.2016
09:11:43
объясни
>>> filter(False, ['', ''])
Traceback (most recent call last):
File "<input>", line 1, in <module>
TypeError: 'bool' object is not callable
>>> filter(None, ['', ''])
[]
>>> filter(bool, ['', ''])
[]

Zart
23.12.2016
09:12:02
а в чем вопрос?

arisu
23.12.2016
09:12:03
почему None - callable?

Zart
23.12.2016
09:12:11
None специальный случай просто
он не коллабл

arisu
23.12.2016
09:12:20
а

Igor
23.12.2016
09:12:30

Zart
23.12.2016
09:12:43
проще говоря, внутри фильтр стоит чтото типа
if callable is None: callable = bool

Igor
23.12.2016
09:12:50
Note that filter(function, iterable) is equivalent to [item for item in iterable if function(item)] if function is not None and [item for item in iterable if item] if function is None.

arisu
23.12.2016
09:12:56
тьфу, блядь
стану проституткой
не люблю я такое, когда опциональные все э
ти аргументы
необходимость понимаю, но отсутствие строгости не понимаю

Zart
23.12.2016
09:14:00
это может быть порой удобно, если фильтр передается как переменная
ну и это поведение было еще с тёмных времен, когда оно только появилось

Roman
23.12.2016
09:14:52
Irina Elisova joined the group
Либо хр, либо будет просить, чтобы за неё сделали. Ставим ставки
Эта группа больше не существует