
Roman
19.06.2016
20:55:01
можно знатно угуляться в дороге )

Alexey
19.06.2016
20:55:14
Так, что пешком пойти.

Zart
19.06.2016
20:55:50
не будет прямого - поеду через мск

Alexey
19.06.2016
20:57:24
Эм, то есть он вообще про всех сейчас расскажет, да?

Google

Alexey
19.06.2016
20:57:55
Почему, кстати, сеочят больше всех программерских вместе взятых без рекламы без смс всегда ночью джойн ссылка инвайт?
https://vc.ru/p/seo-problems

Марк
19.06.2016
21:00:22
Кстати, у этого индуса встретил пост: как быстрее всего найти элемент в списке из четырех элементов.

Alexey
19.06.2016
21:00:32
Перебрать? :)

Zart
19.06.2016
21:01:37
отсортировать пузырьком, а потом двоичным поиском

Марк
19.06.2016
21:02:04
Ну, вопрос забавный на самом деле

Alexey
19.06.2016
21:02:07
Шеллом сортируйте.

Zart
19.06.2016
21:02:24
ну или сидеть на берегу и ждать пока мимо не проплывет труп искомого элемента

Janek
19.06.2016
21:05:40
Прямо как в Ганге

Alexey
19.06.2016
21:05:44
Пока новички спят: https://habrahabr.ru/company/reactos/blog/303618/

Марк
19.06.2016
21:06:54
Сорь, не элемент, а индекс элемента

Zart
19.06.2016
21:07:07
а разве реактос косил под серверную ску хоть раз?

Марк
19.06.2016
21:07:23
Го варианты

Google

Alexey
19.06.2016
21:07:35
Так в том-то и дело, что они чисто винапи же пытаются запилить нт5 и всйо. Какой сервер.

Zart
19.06.2016
21:07:44
mylist.find(element)
ну. я пробовал реактос. переключение кодовой страницы на лету в инсталлере доставило, да

Alexey
19.06.2016
21:08:24

Zart
19.06.2016
21:09:02
логину хочет, нафех

Марк
19.06.2016
21:09:09
if value in mylist:
return mylist.index(value)
- самый тупой

Alexey
19.06.2016
21:09:16

Andrey
19.06.2016
21:09:17
Го варианты
Отнять искомое число от каждого элемента. После перемножать по порядку и после каждого умножения проверять на ноль)

Zart
19.06.2016
21:10:49

Марк
19.06.2016
21:11:30
Почему индус считает этот варик самым тупым?

Zart
19.06.2016
21:11:55
или же в трай блоке если хочется поймать отсутствие

Andrey
19.06.2016
21:12:49
Тогда уж руками перебрать проще.

Zart
19.06.2016
21:12:54
на коротких списках этот вариант будет быстрее всех
на здоровых - если можно отсортировать, то через бисект
индекс и перебирает

Denis
19.06.2016
21:14:12
Если надо один раз найти, линейный поиск на любом списке самым быстрым будет

Zart
19.06.2016
21:14:46
бинарный на большом отсортированном быстрее по определению

Denis
19.06.2016
21:14:58
Сортировка дольше поиска

Zart
19.06.2016
21:15:09
поэтому было "если"
когда данные изначально отсортированы и поддерживаются в этом виде - поиск можно ускорять

Google

Denis
19.06.2016
21:16:11
А если данные в словаре, можно еще сильнее ускорить

Zart
19.06.2016
21:16:12
на мелких списках линейный выигрывает так как не тратит лишнего времени на всякое

Aleshka
19.06.2016
21:16:51
need help
кто в машинном обучении шарит, задачка взять выборку, метод K ближайших соседей. Надо сделать кроссвалидацию при k от 1 до 50 и посмотреть при каком количестве соседей лучше accuracy.

Марк
19.06.2016
21:16:55
Ответ:
Here the problem is, in the condition used in if, it takes O(n) time to check if the value is in the list, and the return statement - mylist.index(value), also takes O(n) time.

Aleshka
19.06.2016
21:17:10
проблема в том, что он дает одно и то же значение для всех 50 K
0.71 (+/- 0.13)
при K от 1 до 50

Zart
19.06.2016
21:17:52

Марк
19.06.2016
21:18:21
Вопрос: какой варик самый быстрый

Alexey
19.06.2016
21:18:27
Прям вот это.
Прям вот, сука, дословно.

Zart
19.06.2016
21:18:47
ну. варианты из одного предложенного - это как горбачева в президенты?

Марк
19.06.2016
21:19:12
Нет. Есть более быстрее варианты.

Alexey
19.06.2016
21:19:24
Вариватты? Вайпер в чяти!

Denis
19.06.2016
21:19:36
Если в списке 4 элемента, есть много вариантов
Нужен бенчмарк

Aleshka
19.06.2016
21:19:49
ад, вопрос снят, столько раз код переписывал что в цикле забыл присваивать валидацию переменной каждый раз ?

Zart
19.06.2016
21:19:52
ну. предлагай шоле... а то ща до метода монте-карло докатимся

Марк
19.06.2016
21:20:49
try:
return mylist.index(value)
except ValueError:
return None

Zart
19.06.2016
21:20:57
бляяяяяяяяяяя

Google

Denis
19.06.2016
21:21:01
Это не быстро нифига

Zart
19.06.2016
21:21:04
а ты чат вообще читаешь?

Denis
19.06.2016
21:21:41
Обработчик исключения ставится дольше, чем in работает, разве нет?

Alexey
19.06.2016
21:21:42
дерьмовый способ кстати, так как и in проверка и .index будут сканировать линейно. проще тупо .index сразу если гарантированно элемент есть

Admin
ERROR: S client not available

Alexey
19.06.2016
21:21:42
или же в трай блоке если хочется поймать отсутствие

Zart
19.06.2016
21:22:03
дерьмовый способ кстати, так как и in проверка и .index будут сканировать линейно. проще тупо .index сразу если гарантированно элемент есть
или же в трай блоке если хочется поймать отсутствие
ну йопт 8(

Андрей
19.06.2016
21:22:12
В fpc есть олскульное иде.

Zart
19.06.2016
21:22:27

Sergey
19.06.2016
21:23:13
Вообще, тут недавно читал, что исключения в Python на самом деле медленные, но проверить на примерах руки не дошли

Alexey
19.06.2016
21:23:31

Zart
19.06.2016
21:23:51

Alexey
19.06.2016
21:23:54
Поэтому ставим трай и имеем либо один полный проход и выход по исключению, либо возврат индекса.

Denis
19.06.2016
21:23:59

Андрей
19.06.2016
21:25:59
Какие жестокие правила группы. Особенно второй пункт, хорошо что про Lisp можно поговорить :D

Zart
19.06.2016
21:27:24
[zart@aura ~]$ python -m timeit -s 'needle, haystack = 3, [1, 2, 3, 4]' 'if needle in haystack:
haystack.index(needle)'
10000000 loops, best of 3: 0.195 usec per loop
[zart@aura ~]$ python -m timeit -s 'needle, haystack = 3, [1, 2, 3, 4]' 'try:
haystack.index(needle)
> except Exception:
> pass'
10000000 loops, best of 3: 0.158 usec per loop
трай выиграл - 160 мс против 195 на итерацию
но это на очень маленьком листе

Google

Kill me pls
19.06.2016
21:27:52
HLOPE MACH FREI

Alexey
19.06.2016
21:28:12
Я на миллионе пока проверяю.

Kill me pls
19.06.2016
21:28:22
А как добавить?

Zart
19.06.2016
21:29:00
в роли иголки бери элемент на 70-80% списка шоле
если иголка будет первым, гм

Alexey
19.06.2016
21:30:23
а, ты натурально про четыре элемента? ооок.

Zart
19.06.2016
21:32:14
[zart@aura ~]$ python -m timeit -s 'needle, haystack = 1, [1, 2, 3, 4]' '
if needle in haystack:
haystack.index(needle)'
10000000 loops, best of 3: 0.134 usec per loop
[zart@aura ~]$ python -m timeit -s 'needle, haystack = 1, [1, 2, 3, 4]' '
try:
haystack.index(needle)
except Exception:
pass'
10000000 loops, best of 3: 0.125 usec per loop
у меня трай начинает и выигрывает 8)

Denis
19.06.2016
21:32:32
Если элемент есть, то трай чуть быстрее. Если нет, трай сильно медленнее

Zart
19.06.2016
21:32:42
угу, есть такое

Alexey
19.06.2016
21:33:04
поэтому там Гвидо что-то давно говорил, мол, юзайте исключения именно для исключений.
☝?️??

Zart
19.06.2016
21:33:59
эта проблема известна как "EAFP vs LBYL"

Denis
19.06.2016
21:34:33
Хоть бы аббревиатуры покрасивее придумали

Alexey
19.06.2016
21:34:47
Зря ты так. Классные.
Эта группа больше не существует