
Andrey
12.05.2016
16:15:02
лень
Нуок, мне лень отвечать.

Whore Amazing
12.05.2016
16:15:19
я лучше вот это поучу https://en.wikipedia.org/wiki/Esoteric_programming_language#Piet
а без гугла слабо было? эх ты.

Anton
12.05.2016
16:18:20
такой вопрос

Google

Anton
12.05.2016
16:18:43
подскажите аналог вот такого вот: http://perlbrew.pl/ для питона?

Andrey
12.05.2016
16:19:23

Anton
12.05.2016
16:20:42
Что он делает?
ставит перл нужной версии в хоум папку, изолирует окружение к этому перлу, поставить можно много перлов, у каждого своя песочница, модули и т.п. переключается между ним одной командой в строке

Aleksey
12.05.2016
16:20:52

Andrey
12.05.2016
16:20:53

Anton
12.05.2016
16:21:02

Aleksey
12.05.2016
16:21:32
смотря с какой стороны посмотреть

Anton
12.05.2016
16:21:52
в перл этот тул был портирован из мира руби, я думал и в питоне что--то такое есть

Andrey
12.05.2016
16:22:31

Anton
12.05.2016
16:22:59

Andrey
12.05.2016
16:23:03
может pyenv?

Google

Anton
12.05.2016
16:23:28
ну так чтоб не трогать системный питон, который например 2.6, дистр старый вдруг, а я хочу 3.5.1

Andrey
12.05.2016
16:23:51

Andrey
12.05.2016
16:24:05
так в virtualenv прописываешь какой питон тебе надо и вперед

Aleksey
12.05.2016
16:25:23
на сколько я помню, даже если сделать грязно (configure && make && make install), каждая бинарник для каждой версии питона будет pythonx.y
собственнол проблема не понятна

Anton
12.05.2016
16:31:37
perlbrew is a tool to manage multiple perl installations in your $HOME directory. They are completely isolated perl universes.
еще есть pythonbrew, вроде тоже самое

Sasha
12.05.2016
16:36:11
Я понял, что стал городит ьнекрасивые конструкции, но тчобы быстрее блеать

Anton
12.05.2016
16:37:06

Sasha
12.05.2016
16:37:48
вот такую вот шнягу у себя встертил:
if all([True if sub_state in not_none_keys else False for sub_state in cls.REQUIRED_STATES[state_key]]):хех
пошел-ка зарефакторю кое что =\

Whore Amazing
12.05.2016
16:43:04
да чо, нормальный код...

[Anonymous]
12.05.2016
16:43:15

[Anonymous]
12.05.2016
16:43:31

Whore Amazing
12.05.2016
16:43:39
главное чтобы сам понимал, если тебе для личного пользования
я, например, такие строки у себя вполне разбираю даже через месяц

Andrey
12.05.2016
16:46:51
За что я люблю плюсы - там такой код выглядит какашкой - приходится переписывать.
А в питоне не особо.

Sasha
12.05.2016
16:47:58
Насчет того куска, представим что есть два листа:
[1,2,3,4,5] и [1,2,3,4,6]
Собственно нужно првоерить, все ли элементы входят из первого листа во второй. Если хоть один не входит - False.
Реквестирую самый красивый способ.

Google

Andrey
12.05.2016
16:48:53
Насчет того куска, представим что есть два листа:
[1,2,3,4,5] и [1,2,3,4,6]
Собственно нужно првоерить, все ли элементы входят из первого листа во второй. Если хоть один не входит - False.
Реквестирую самый красивый способ.
mapReduce?

Arseny
12.05.2016
16:49:55
если первый лист длинный, то все эти list comprehensions не очень хороши

Sasha
12.05.2016
16:50:10
mapReduce?
излишне, пожалуй. Вот та строчка именно это и делает.

Andrey
12.05.2016
16:50:27
И после проверить на пустоту.
Но здесь надо обходить весь лист.

Arseny
12.05.2016
16:51:14
зачем?
до первого false же

Andrey
12.05.2016
16:51:43
Насчет того куска, представим что есть два листа:
[1,2,3,4,5] и [1,2,3,4,6]
Собственно нужно првоерить, все ли элементы входят из первого листа во второй. Если хоть один не входит - False.
Реквестирую самый красивый способ.
если второй list влезает в память, то превратить его в set и потом all(i in s for i in l1)

Andrey
12.05.2016
16:51:44

Sasha
12.05.2016
16:51:49
all рповеряет до первого false

Arseny
12.05.2016
16:52:07
вот поэтому функциональные штучки ни к чему

Arseny
12.05.2016
16:52:12
в данном случае

Andrey
12.05.2016
16:52:27

Sasha
12.05.2016
16:52:47
Не буду знаичт эту строчку рефакторить ^_^

Arseny
12.05.2016
16:53:09
чтобы красиво, надо пару лямбд добавить

Andrey
12.05.2016
16:53:19

Andrey
12.05.2016
16:54:00
True if sub_state in not_none_keys else False
отлично заменяется на
sub_state in not_none_keys

Sasha
12.05.2016
16:54:04
Функция - елси будет возможность повторного исопльзвоания? ее не будет

Google

Andrey
12.05.2016
16:55:05
ну и not_none_keys лучше чтобы было set или dict, тогда значительно быстрее будет

Kolyann
12.05.2016
16:55:44
Насчет того куска, представим что есть два листа:
[1,2,3,4,5] и [1,2,3,4,6]
Собственно нужно првоерить, все ли элементы входят из первого листа во второй. Если хоть один не входит - False.
Реквестирую самый красивый способ.
у сета есть встроенный метод

Arseny
12.05.2016
16:55:54
я однажды проверял на наличие в листе вместо сета. когда оптимизировал и сменил лист на сет, получил прирост в 100 тыщ раз примерно

Kolyann
12.05.2016
16:55:59
кастуешь листы в сеты @ смотришь есть ли все элементы
ой, чот я вру
а нет, не вру

Andrey
12.05.2016
16:56:34
и квадратные скобки из all убери, оно сейчас по всему списку сначала пробежится, а потом уже будет all вторым проходом проверять

Admin
ERROR: S client not available

Andrey
12.05.2016
16:56:39

Anton
12.05.2016
16:58:19

Andrey
12.05.2016
16:58:33
l1 = set(l1)
l2 = set(l2)
return len(l1 - l2) > 0

Sasha
12.05.2016
16:58:52

Andrey
12.05.2016
16:59:01
iterable
о есть любой генератор

Sasha
12.05.2016
16:59:22
Ну да, а внутри у нас генератор
Итак

Arseny
12.05.2016
17:00:00

Kolyann
12.05.2016
17:00:35

Andrey
12.05.2016
17:00:45
Это не то совсем
почему? если есть какие-то элементы в первом списке, но не во втором, то разница будет не пустой

Google

Kolyann
12.05.2016
17:01:13
хотя можно запилить тесты производительности

Andrey
12.05.2016
17:01:15

Kolyann
12.05.2016
17:01:21
зато строка одна ?

Andrey
12.05.2016
17:02:03
return len(set(l1) - set(l2)) > 0

Kolyann
12.05.2016
17:02:46
хм, тоже ничего

Andrey
12.05.2016
17:03:26
Ну да, а внутри у нас генератор
у тебя сначала из генератора создастся list, а потом итератор по нему будет передан в all. а можно сразу генератор в all отдавать

Sasha
12.05.2016
17:04:42
Как до компа доберусь сделаю замеры
Аж интересно стало

Andrey
12.05.2016
17:05:31

Andrey
12.05.2016
17:06:54

Andrey
12.05.2016
17:07:50
нет
можно без него

Andrey
12.05.2016
17:08:10
Это не Си тебе.

Andrey
12.05.2016
17:08:50
а ты проверь

Andrey
12.05.2016
17:11:23
Но вот такую бы хреновину я бы в функцию бы обернул с говорящим названием, а то как то странно это выглядит.

Andrey
12.05.2016
17:12:12
ну хз, от нее почти ничего не осталось. если помнить алгебру множеств, то все понятно с первого взгляда

Andrey
12.05.2016
17:13:16