Anonymous
по индексу. это олимпиадная задача или насущная проблема?
по индексу тоже не вариант - число может встретиться в любом месте
Anonymous
по индексу. это олимпиадная задача или насущная проблема?
т.е. сначала получить индекс, потом заменить?
Александр
т.е. сначала получить индекс, потом заменить?
ааа, понял. a.index(2) — получишь индекс
Anonymous
Anonymous
ааа, понял. a.index(2) — получишь индекс
for i in a: print(i.index()) возвращает AttributeError: 'int' object has no attribute 'index'
Egor
Anonymous
Спасибо, но я так думаю, затею пока оставлю...
Egor
не совсем
а скажи условие еще раз
Anonymous
а скажи условие еще раз
Наверное дичь, но вот полностью. Мне нужно, чтобы в списке с нули заменились на цифры из списка b, но чтобы не было дублирующихся значений . a = [[4,1,0],[0,0,9],[0,2,0]] b = [1,2,3,4,5,6,7,8,9] c = [] for i in a: c += i for i in c: for j in b: if i == 0: i=j print(c)
Anonymous
ну типа [4,1,5,3,7,9,8,2,6]
Anonymous
результат какой должен получиться?
вопрос так-то не горящий, но уже чет подзамучал
Anonymous
результат какой должен получиться?
Т.е. ненулевые цифры не должны менять позицию и не переходить в строку
Detur
вопрос так-то не горящий, но уже чет подзамучал
Да господи выкинь из б то что в а уже есть и повторы и распихай остальное
Aragaer
это что за ересь вместое != в нижней строчке?
Maxim
Maxim
это что за ересь вместое != в нижней строчке?
GitHub - tonsky/FiraCode: Monospaced font with programming ligatures github.com Contribute to tonsky/FiraCode development by creating an account on GitHub.
Aragaer
но ведь оно не похоже на !=
Maxim
но ведь оно не похоже на !=
Зато похоже на «не равно». =)
Anonymous
спасибо! уже смотрю
Sergey
Тогда асинхронно
На самом деле, там не сильно всё отличается от request, просто всё делается в рамках одной сессии (на примерах будет понятно). Один из немногих минусов асинхронного кода (как и параллельного) - неуправляемый порядок получения результатов. Но можно в асинхронную функцию отправлять своего рода id, который потом возвращается вместе с результатом и по нему сортируется. Но если порядок не важен, то получится список возвратов в случайном порядке
λ
это что за ересь вместое != в нижней строчке?
Это лигатуры. Выключи если хочешь. Мне нравятся. Попробуй Hasklig шрифт
Sergey
Только толк, когда уже есть "параллельный"? Ваш асинк же требует спец драйверов, новых подходов к написанию кода и логики...
Тут было много споров по этому поводу. Толк в "цене" треда или корутины. При асинхронном программировании при схожем количестве "параллельных" (очень условно) потоков ресурсов будет тратиться меньше, чем при использовании тредов (или мультипроцессорной обработке).
λ
В си ресурсов меньше, а в Python важно import this
Sergey
В си ресурсов меньше, а в Python важно import this
Аналогия: Си - гоночная машина, но редко вы используете все ее возможности, знаете, что она быстра, но положа руку на сердце, не всегда эта быстрота нужна, да и обслуживание таких машин - более сложное. Питон - городской автомобильчик - неприхотлив в обслуживании и в большинстве случаев его скорости хватает, но иногда приходится выезжать на трассу и хотелось бы, чтобы скорость его была повыше.
Alex
асинхронность на базе gevent \ eventlet никто не отменял, и до asyncio как-то жили, однако asyncio привнес явное управление переключением контекста без скрытых сайд-эффектов.
λ
потому что асинхронность не про параллелизм. тезис о “спец. драйверах” это сильно.
Ок, могу я обработать каждую сбоку ответа кликхаус асинхронно?
Aragaer
асинхронность на базе селект это без всяких коллбэков
Aragaer
просто последовательно выполняешь свою работу
Alex
асинхронность на базе селект это без всяких коллбэков
механизм получения уведомления с сокета к механизму обработки уведомлений имеют слабое отношение.
Sergey
асинхронность на базе селект это без всяких коллбэков
Если не задумываться, как эти селекты сами реализованы 😊
Sergey
Не знаю, если честно, но на мой взгляд, колбеки - это примитивы асинхронности, ты кому то даешь задание и говоришь, куда сообщить о результатах
Tishka17
А селект?
Sergey
селект следит за каналами, возвращает их состояния. Как это можно реализовать на программном уровне?
Tishka17
За чем следит?
Alex
select если упрощенно, то это просто цикл, который пробегает по переданному ему списку сокетов и дергает их состояние.
Aragaer
селект ни за чем не следит, он просто проводит последовательный опрос
Tishka17
А кто что может сказать за serverless?
Tishka17
Чёт я пытаюсь в ехать в концепцию и не понимаю откуда там магия масштабирования берётся
Tishka17
Maxim
Чёт я пытаюсь в ехать в концепцию и не понимаю откуда там магия масштабирования берётся
Ну вот у меня телеграм-ботов несколько так работают. Прилетел запрос в бота — телеграм отправил запрос по адресу вебхука. Гугловский сервер запускает мою функцию, функция вычисляет, отправляет ответ юзеру, выполнение функции завершается.
Detur
А в чем разница с обычным вебхуком?
В том что ты не держишь свою систему
Tishka17
Ну то есть я понял, что вроде как сервер может прибивать приложение если нет запросов. Но для масштабирования это пофиг. Это скорее экономия хостера
Detur
Выполняшь хэндлер просто на их стороне
Maxim
А в чем разница с обычным вебхуком?
У меня нет своего сервера, который постоянно слушает вебхук. У меня есть только функция, которая выполняется, когда событие прилетело. Я дал эту функцию гуглу. А гугл сам разбирается, как держать сервер, как балансировать все это, сколько инстансов запускать.
Tishka17
Ну ладно, вот у меня хероку. Это serverless?
Maxim
Ну ладно, вот у меня хероку. Это serverless?
Им я тоже так и не воспользовался. Но вроде нет. Это же, так скажем, просто хостинг. Он запускает сервера. Ты регулируешь количество диносов или как их там. Ты оперируешь серверами. А тут нет серверов (у тебя). Ты написал функцию, отдал ее платформе, дальше они сами разбираются.
Tishka17
Да я не оперирую сервером. У меня есть приложение, которое где-то работает.
Tishka17
Сервера я считаю только когда деньги надо платить. Как понимаю, разница только в этом?
Tishka17
Короче, я понял. Тот же самый код, разница только в управлении количествами инстансов
Maxim
Да я не оперирую сервером. У меня есть приложение, которое где-то работает.
Но твое приложение это сервер. Wsgi и все такое. Разве нет? А у меня просто функция, которая в аргументе получает http request
Tishka17
Эм, ну wsgi это способ запуска, ага
Tishka17
В целом мне пофиг как мой app запускаться, если фреймворк умеет
Tishka17
Именно так.
И "фреймворки" у всех провайдеров разные?
Maxim
И "фреймворки" у всех провайдеров разные?
Да нет там фреймворка. Ты должен предоставить функцию, которая сожрет http request и вернет ответ. Дальше уже сам как хочешь.