@ru_python

Страница 3084 из 9768
Проксимов
02.07.2017
22:13:48
отнюдь, это у народа часто развита оопщина
Зачем функциональщина если она: 1)нечитаемая 2)такое же решение пишется на питоне

Nikolay
02.07.2017
22:14:15
Зачем функциональщина если она: 1)нечитаемая 2)такое же решение пишется на питоне
она офигенно читаемая и код в моем примере написан на питоне

Stanislav
02.07.2017
22:14:40
>fib = lambda n:reduce(lambda x,n:[x[1],x[0]+x[1]], range(n),[0,1])[0] tfw парсер языка не умеет в строки и тебе придется развернуть это говно на первом None has no key... tfw ты хочешь писать как взрослые дяди на статике которая их спасет от большенства проблем и подскажет но у тебя питон

Google
melancholiac
02.07.2017
22:15:35
генератор другую задачу решает, свертка - это reduce, для генератора можно использовать itertools.accumulate
генератор числе фибоначчи решает вычисление чисел фибоначчи ваш кеп

зачем свертка?

melancholiac
02.07.2017
22:16:00
ну или просто функция + мемоизация

Nikolay
02.07.2017
22:16:08
зачем свертка?
затем, что задача рекуррентная :)

melancholiac
02.07.2017
22:16:17
Nikolay
02.07.2017
22:16:22
что именно мемоизировать?

не, я согласен, что генераторное решение - по сути, самое верное

melancholiac
02.07.2017
22:16:41
что именно мемоизировать?
значения чисел фибоначчи

Google
Nikolay
02.07.2017
22:16:52
значения чисел фибоначчи
а зачем их мемоизировать, если надо всего два?

вот было бы динамическое программирование полноценное - тогда бы да

Проксимов
02.07.2017
22:17:30
Nikolay
02.07.2017
22:17:51
обоснуй
ты даже не врубился в то, какую задачу этот код решает, поэтому твой коммент бессмысленный абсолютно

melancholiac
02.07.2017
22:18:20
def fib(n): a,b = 0,1 while n: a,b = b,b+a yield a n-=1

Nikolay
02.07.2017
22:18:21
Сорри, но это нечитаемое дерьмо
reduce и не отличался никогда особо читабельностью, но он довольно лаконичный

Евгений
02.07.2017
22:18:23
functools.lru_cache вроде

melancholiac
02.07.2017
22:18:32
чем такая реализация отлична от твоей?

Маришка
02.07.2017
22:18:34
ну или просто функция + мемоизация
Не самый лучший вариант оставлять рекурсию в питоне вообще

Nikolay
02.07.2017
22:18:39
в принципе, при знании foldl этот код становится очевидным

melancholiac
02.07.2017
22:18:40
@Enchantner

Проксимов
02.07.2017
22:18:54
Точнее большинство не знает

Stanislav
02.07.2017
22:19:29
>какую задачу этот код решает вынуждение того кто это чинит переписать это нормальным способом чтобы найти в каком из десятка индексацией нет ключа ?

Nikolay
02.07.2017
22:19:33
чем такая реализация отлична от твоей?
ничем, она просто не one-liner и foldl развернут руками :)

melancholiac
02.07.2017
22:19:56
foldl это reduce?

Проксимов
02.07.2017
22:20:16
foldl это reduce?
Это термины фп

Nikolay
02.07.2017
22:20:16
foldl это reduce?
да, это одно и то же

Google
Nikolay
02.07.2017
22:21:25
это чтото вроде https://github.com/csvoss/onelinerizer ?
нет, это простейший ванлайнер, который пишется руками за несколько минут при нормальном знании питона

Stanislav
02.07.2017
22:21:35
а отлаживается сколько ?

Nikolay
02.07.2017
22:21:38
особенно при знании функциональщины

нисколько, он базовый и очевидный

melancholiac
02.07.2017
22:21:52
ой зря

Nikolay
02.07.2017
22:22:02
это foldl с инициализатором, там не может быть проблем с ключами в принципе

зря ты это
про это еще и доклад был на пайконе в прошлом году :)

melancholiac
02.07.2017
22:22:21
нисколько, он базовый и очевидный
да, но его немного неудобно читать

Nikolay
02.07.2017
22:22:35
да, но его немного неудобно читать
согласен, потому гвидо и засунул reduce в functools :)

melancholiac
02.07.2017
22:22:36
тип решение методом гаусса в строку

melancholiac
02.07.2017
22:23:08
распаковка переменных ванлав

Проксимов
02.07.2017
22:23:18
Зачем так писать если можно написать красиво и понятно через yield

Nikolay
02.07.2017
22:23:26
кажется, я видел эту гифку без обрезанной снизу камеры

Проксимов
02.07.2017
22:23:52
с yield решение ужасное с точки зрения ФП
Мне плевать на фп, зато всем понятно

Nikolay
02.07.2017
22:24:31
Мне плевать на фп, зато всем понятно
когда пишешь распределенку - становится резко не плевать

melancholiac
02.07.2017
22:24:34
кажется, я видел эту гифку без обрезанной снизу камеры
я уже давно пытаюсь найти имя сией барышни

Google
melancholiac
02.07.2017
22:24:36
и не только я

melancholiac
02.07.2017
22:24:46
Nikolay
02.07.2017
22:25:05
что за распределенка?
распределенные вычисления

melancholiac
02.07.2017
22:25:17
эм

но вроде мапредьюс это не то же самое что функция редьюс

если ты об этом

Stanislav
02.07.2017
22:25:48
фантазия николая о том что паттерн мапредуса на больших данных похож на тот нечитаемый высер который он написал тут

melancholiac
02.07.2017
22:25:55
или в питоне редьюс по умолчанию распаралеллен?

Admin
ERROR: S client not available

Проксимов
02.07.2017
22:26:02
когда пишешь распределенку - становится резко не плевать
Это специфичная область и не надо проецировать фп оттуда на всё питон комьюнити

melancholiac
02.07.2017
22:26:26
щито?
видимо не то

Nikolay
02.07.2017
22:26:55
Это специфичная область и не надо проецировать фп оттуда на всё питон комьюнити
ничего особо специфичного, когда разговор идет о клиент-серверных приложениях с балансировкой

Маришка
02.07.2017
22:26:59
Шаг с map в питоне это обращение в дикт

melancholiac
02.07.2017
22:26:59
ты ведь имеешь ввиду технологию mapreduce когда говоришь про распаралелливание?

Nikolay
02.07.2017
22:27:11
видимо не то
просто у тебя фраза бессмысленная :)

Маришка
02.07.2017
22:27:27
Nikolay
02.07.2017
22:27:38
ты ведь имеешь ввиду технологию mapreduce когда говоришь про распаралелливание?
mapreduce - это один из подходов, довольно старый, реализованный, например, в хадупе

Google
Проксимов
02.07.2017
22:27:41
ничего особо специфичного, когда разговор идет о клиент-серверных приложениях с балансировкой
Может ты не заметил но твой код выше это не клиент серверное приложение с балансировкой

Nikolay
02.07.2017
22:27:55
и да, там reduce похоже устроен, просто немного в другом смысле

melancholiac
02.07.2017
22:28:10
mapreduce - это один из подходов, довольно старый, реализованный, например, в хадупе
ну я имел ввиду что reduce это функция, а mapreduce подход к обработке данных

Nikolay
02.07.2017
22:28:34
Может ты не заметил но твой код выше это не клиент серверное приложение с балансировкой
может ты не понял, но любой код, будучи перекинут в продакшен, имеет шанс стать распределенным, если потребуется им большой объем данных обрабатывать

Маришка
02.07.2017
22:28:36
И общего они имеют лишь одинаковые буквы

melancholiac
02.07.2017
22:29:02
Stanislav
02.07.2017
22:29:16
>может ты не понял, но любой код, будучи перекинут в продакшен, имеет шанс стать распределенным распредели мне спинлок

Nikolay
02.07.2017
22:29:20
ну я имел ввиду что reduce это функция, а mapreduce подход к обработке данных
мысли шире. reduce - это проход по набору объектов и применение к ним общей функции со схлопыванием результата в аккумулятор, так?

Nikolay
02.07.2017
22:29:47
так чем это отличается от сборки результата с воркеров и схлопыванием его в один csv у тебя на диске?

Проксимов
02.07.2017
22:29:53
что это значит?
Map в питоне, не то чем кажется

melancholiac
02.07.2017
22:30:03
или куда копать?

Проксимов
02.07.2017
22:30:21
или куда копать?
В исходники

melancholiac
02.07.2017
22:30:38
ну как бы это совсем не однострочник

но может я что-то потаю

мне уже страшно

Страница 3084 из 9768