
Мой любимый
21.08.2018
21:40:23
Зачем тебе фреймворки?
Пиши так

f1nnix
21.08.2018
21:40:27
Почему? Aiohttp норм, правда костылить немного придется.

Tigran
21.08.2018
21:41:11
wsgi наше всё

Google

?? Eugene
21.08.2018
21:41:53

Tigran
21.08.2018
21:42:43
меня всегда умиляют эти новые фреймворки
built to be fast.
и показывают, как они обрабатывают 200 000 хеллоуворлдов в секунду, а фласк только 40 000
про закон Амдала не слышали никогда, видимо

?? Eugene
21.08.2018
21:44:47
м

Shine
21.08.2018
21:46:15
притом хардовые плюсы, пишут свои аллокаторы памяти, чтобы максимального перформанса достигать )

Denis
21.08.2018
21:47:16

?? Eugene
21.08.2018
21:48:27
и как, запустил бизнес?

Сергей
21.08.2018
21:49:25

Denis
21.08.2018
21:50:53
то есть по сути пайтона для хайлода хватит?

?? Eugene
21.08.2018
21:52:27

Google

Denis
21.08.2018
21:52:55
700к юзеров ежедневно

Aragaer
21.08.2018
21:53:07
/me чот считает, что сотворил нечто невпупенное этой строчкой:
TimeoutException = type("TimeoutException", (Exception,), {})

?? Eugene
21.08.2018
21:53:19
у каждого человека свои личные мотивы, это нормально и это надо учитывать

Aragaer
21.08.2018
21:53:32
все думаю, может все-таки проще было бы
class TimeoutException(Exception):
pass

Nikolay
21.08.2018
21:54:12
Сюда пишут, если ищут питонистов. А куда писать, если ищешь работу?
?

?? Eugene
21.08.2018
21:54:52

Denis
21.08.2018
21:55:49

Josh
21.08.2018
21:56:12
ниачем

?? Eugene
21.08.2018
21:56:17
Я же в лс написал, я не играю в карты

Сергей
21.08.2018
21:57:06

?? Eugene
21.08.2018
21:58:01

Denis
21.08.2018
21:58:15
вдруг что-то )

?? Eugene
21.08.2018
21:58:25
ютуб частично питон использует
но в целом, если это супер-крупный хайлоад - то уже переписывают на что-нибудь более быстрое, на плюсах, например

Aragaer
21.08.2018
21:58:55
ну или точнее писали года 4 назад
лично знаю человека, который там этим занимался

Fenicu ☁️♒️
21.08.2018
22:03:15
что
ахахахахах

Google

Fenicu ☁️♒️
21.08.2018
22:04:03
юзернейм у меня такой же
пиши моноширенным

?? Eugene
21.08.2018
22:07:30
Каюсь, ты меня раскусил
Только не задачу, а решение

Сергей
21.08.2018
22:09:49
print(("5" * 5 +"\n") * 5)
например

?? Eugene
21.08.2018
22:10:14
Ну раз как специалиста - обсудим оплату? :)
$100/час

Dmitry
21.08.2018
22:16:30
Всем привет! Помогите разобраться с решением задачи. В stdin подается строка с целыми числами, разделенными пробелами. На stdout нужно получить последовательность чисел, разделенных пробелами, которые встречаются более одного раза. Пример: вход '4 8 0 3 4 2 0 3', выход 4 0 3 в любой последовательности. Задачу решить не сложно, но я наткнулся на решение, которое не могу понять: v1, v2 = {}, {}
for v in input().split():
([v1, v2][v in v1])[v] = True
print(*v2)

Nikolay
21.08.2018
22:18:23
я не понял
я сюда деграджировать захожу

Admin
ERROR: S client not available

Aragaer
21.08.2018
22:22:40
можно еще круче сделать, вместо словарей сеты

Dmitry
21.08.2018
22:23:39
А вопрос в чем?
Как из двух пустых словарей получается ответ. И как используются булевы значения как ключи

Aragaer
21.08.2018
22:23:54
([v1, v2][v in v1]).add(v)
что такое булево значение? 8)
и словари перестают быть пустыми
собственно они и заполняются в цикле

Google

Aragaer
21.08.2018
22:24:54
ок. Объясняю
[v1, v2] это список из двух словарей
[v1, v2][some_key] вернет либо v1, либо v2, в зависимости от того, будет some_key нулем или единицей
True и False это как раз ноль или единица

?? Eugene
21.08.2018
22:25:57
Если v есть в v1 - то берем индекс 1 от списка [v1, v2], кладем туда ключ v и значение True

Aragaer
21.08.2018
22:26:15
таким образом [v1, v2][v in v1] вернет v1 если v в нем не содержится (получится [v1, v2][0], то есть v1) и v2 в противном случае

?? Eugene
21.08.2018
22:26:25
Обфускация какая-то)

Aragaer
21.08.2018
22:26:37
как я сказал, через сеты было бы еще смешнее

☭
21.08.2018
22:26:42
кто-нить waf использует для сборки?

Dmitry
21.08.2018
22:26:45

Aragaer
21.08.2018
22:26:54
чтобы выбрать один из них по условию

?? Eugene
21.08.2018
22:27:01
Видимо, для прикола

☭
21.08.2018
22:27:03
ну или может в потрохах копался

Aragaer
21.08.2018
22:27:34
это сильно сокращенный вариант записи
if v in v1:
v2[v] = True
else:
v1[v] = True
по идее можно записать так:
(v2 if v in v1 else v1)[v] = True

Dmitry
21.08.2018
22:29:13
но как заполняются пустые словари?

Adam
21.08.2018
22:30:24
update