
?? Eugene
30.08.2018
10:05:25

Tigran
30.08.2018
10:07:10
Бля, я питон сломал.
>>> l = []
>>> l = [None]; l[0] = chain.from_iterable(arr if i == 0 else l[0] for i in count())
>>> l[0]
<itertools.chain object at 0x10fe04eb8>
>>> next(l[0])
(('123',),)
>>> next(l[0])
Segmentation fault: 11

Sergey
30.08.2018
10:07:23

?? Eugene
30.08.2018
10:07:59

Google

Sergey
30.08.2018
10:08:17

?? Eugene
30.08.2018
10:08:33
ну да

Sergey
30.08.2018
10:09:11
Понял, пойду читать, спасибо!

?? Eugene
30.08.2018
10:09:53

Edward
30.08.2018
10:14:35

Tigran
30.08.2018
10:16:39
Лол, всё-таки так можно
>>> from itertools import chain, count, tee
>>> arr = ((('123', ), ), )
>>> l = tee(chain.from_iterable([arr] if i == 0 else next(l[0]) for i in count()), 2)
>>> next(elem for elem in l[1] if not isinstance(elem, tuple))
'123'

Саша
30.08.2018
10:16:49
Люди, так никто не знает как в графенофский SQLAlchemyObjectType добавить опциональное поле?

Jl
30.08.2018
10:21:39
Пояснили
В общем связи с тем что python юзает типи C
При больших числах он неявно переключается
На либу C bigint
Или опять меня наябывают ?

Vladislav
30.08.2018
10:27:45
Научите/покажите пример, как использовать execute в библиотеке vk.

Google

Скрудж
30.08.2018
10:28:40

Vladislav
30.08.2018
10:29:03

Скрудж
30.08.2018
10:29:10
Искать другую библиотеку

Vladislav
30.08.2018
10:29:18
через time.sleep(0.3) и терпеть?

Скрудж
30.08.2018
10:29:45

Dk
30.08.2018
10:30:03
Они на Си

Vladislav
30.08.2018
10:30:16

Скрудж
30.08.2018
10:30:21
Есть на примете?
Поддерживает execute, но нужно переписывать для работы с Bot LongPoll api

Vladislav
30.08.2018
10:32:24

Скрудж
30.08.2018
10:33:14
Благодарю, мсье, там я найду execute для api vk?
Да:
api.messages.send.delayed(params) (Процесс пушинга в очередь)
Если нужно отправить инструкции:
api.sync()
Отправляет сам с учетом 25 в одном execute, лимитом для Bot API
Подробнее читай код, чтобы понять все

Vladislav
30.08.2018
10:34:20

Sergey
30.08.2018
10:39:27
всем привет !!! есть проблема в data может прийти не один PUSH, а сразу несколько, и их все нужно обработать! по два обработка проходит норм а при всех сразу обрабатывается одно https://pastebin.com/n332SiX8

BlackAndOrange
30.08.2018
10:41:34
Лол, всё-таки так можно
>>> from itertools import chain, count, tee
>>> arr = ((('123', ), ), )
>>> l = tee(chain.from_iterable([arr] if i == 0 else next(l[0]) for i in count()), 2)
>>> next(elem for elem in l[1] if not isinstance(elem, tuple))
'123'
(lambda a,i:(lambda f,b:f(f,b))((lambda s,b:s(s,b[0])if i(b,tuple)and b else('!'if i(b,tuple)else b)),a))(a,isinstance)
Ужал в современный стандарт (119 символов)
В 79 не ужму
/report

Bohdan
30.08.2018
10:42:17
@gloomy_philosopher

BlackAndOrange
30.08.2018
11:08:33
(lambda a: (lambda f, b: f(f, b))(lambda s, b: str != type(b)and(b and s(s, b[0])or'!')or b, a))(a)
99 символов (прошло бы большинство современных валидаторов) и полное соответствие PEP8 во всём остальном
Ещё 20 символов, кажется, никак не порезать

Google

Aragaer
30.08.2018
11:14:53
а чо надо?
можно убрать пробелы вокруг запятых и двоеточий, но тогда пеп нарушается

Alexandr
30.08.2018
11:18:11
import re
re.findall(r"\(['\"].*['\"],\)", str(a))[0]
не?
о, даже так
tuple(re.findall(r"'(.*?)'", str(a)))

Aragaer
30.08.2018
11:25:32
так чо надо то?

Tigran
30.08.2018
11:27:49

BlackAndOrange
30.08.2018
11:33:33

Aragaer
30.08.2018
11:34:11
ок

BlackAndOrange
30.08.2018
11:34:52
Я пока допинал до 96, смотрю дальше
Питон — нерегулярный язык, увы
так чо надо то?
Вытащить строку из такой конструкции:
((('a'),),)
Или вернуть '!', если внутренний тупл пустой
Туплов может быть сколь угодно много
(lambda a: (lambda f, b: f(f, b))(lambda s, b: () == b[:0]and(b and s(s, b[0])or'!')or b, a))(a)
Я избавился от всех слов, кроме lambda, or, and, вот теперь сокращать действительно сложно

Alexandr
30.08.2018
11:38:36
In [80]: s = (('()',),)
In [81]: tuple(re.findall(r"'(.*?)'", str(s)))
Out[81]: ('()',)
разве ответ не такой должен быть?

BlackAndOrange
30.08.2018
11:39:01
Казалось бы, правильный ответ
'()'

Aragaer
30.08.2018
11:39:12
то есть есть пачка из трех туплов, надо вытащить строку и все?

BlackAndOrange
30.08.2018
11:39:20

Aragaer
30.08.2018
11:39:23
или может быть глубже или несколько строк?

BlackAndOrange
30.08.2018
11:39:29
Вытащить строку или вернуть кастомную, если внутри строки нет

Google

BlackAndOrange
30.08.2018
11:39:36
Может быть глубже

Aragaer
30.08.2018
11:39:43
но строка все равно одна

BlackAndOrange
30.08.2018
11:39:48
Или ноль

Aragaer
30.08.2018
11:39:58
мм

Alexandr
30.08.2018
11:40:04

Aragaer
30.08.2018
11:40:21
то есть так. Если тупл и он пустой, то вернуть !
если не пустой, то лезем внутрь
если строка, то вернуть ее

BlackAndOrange
30.08.2018
11:40:35
Типа того
Лист индекс аут оф рендж

Ruslan
30.08.2018
11:41:30
Всем привет.
Хочу начать учить django, помимо оф доков, какие еще посоветуете книги почитать / видео уроки посмотреть?

Aragaer
30.08.2018
11:42:24
def f(a):
return (f(a), a)[type(a) == str] if a else '!'
хм

Artyem
30.08.2018
11:42:47
https://github.com/amureki/django_faq

BlackAndOrange
30.08.2018
11:43:41
В две строчки и я могу

Ruslan
30.08.2018
11:44:27

Aragaer
30.08.2018
11:44:33
ну да, дальше надо как-то через лямбду и применение

Google

BlackAndOrange
30.08.2018
11:44:44
(lambda a: (lambda f, b: f(f, b))(lambda s, b: () == b[:0]and(b and s(s, b[0])or'!')or b, a))(a)
Ну вот, собственно
Но 96 символов
А хорошо бы 79

Eldar
30.08.2018
11:45:13

Aragaer
30.08.2018
11:45:20
я думаю, можно меньше лямбд сделать

BlackAndOrange
30.08.2018
11:45:23
Я тоже пытаюсь понять, как можно обойтись двумя
Очевидно, убрать одну лямбду это инстант вин

Aragaer
30.08.2018
11:47:16
f = lambda a: (f(a), a)[type(a) == str] if a else '!'
мхм. Такое покатит вообще?

BlackAndOrange
30.08.2018
11:47:55
Технически можно, конечно, под условия подходит
Но я пытался сделать одним expression

Kolyann
30.08.2018
11:47:57

Alexandr
30.08.2018
11:48:00
А итоговый ответ должен быть ('foo',) или 'foo'?

BlackAndOrange
30.08.2018
11:48:09

Alexandr
30.08.2018
11:48:35

BlackAndOrange
30.08.2018
11:48:40