@ru_python

Страница 721 из 9768
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/ для питона?

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

Anton
12.05.2016
16:21:02
virtualenv
это не то

puppet/chief/salt/ansible
тоже не то

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

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

virtualenv
это скорее аналог local::lib из перла

Andrey
12.05.2016
16:22:31
это скорее аналог local::lib из перла
Здесь не все знают perl. Почему тебе virtualenv не подходит?

Anton
12.05.2016
16:22:59
Здесь не все знают perl. Почему тебе virtualenv не подходит?
а он позволит иметь питон интерепретатор любой версии в хомяке?

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
а он позволит иметь питон интерепретатор любой версии в хомяке?
В virtualenv ты можешь любой питон поставить. http://stackoverflow.com/questions/1534210/use-different-python-version-with-virtualenv

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.

может pyenv?
годится, спасибо

еще есть pythonbrew, вроде тоже самое

собственнол проблема не понятна
не проблема, а скорее хотелка, системный у меня 3.4, хочется 3.5 ковырнуть, в установку особо не вникая

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
да чо, нормальный код...

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
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:44
до первого false же
Как ты filter сделаешь до первого false?

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, тогда значительно быстрее будет

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
Функция - елси будет возможность повторного исопльзвоания? ее не будет
Функции нужно делать не только для переиспользования, но и для законченных действий. Чтобы код был читаем.

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

Andrey
12.05.2016
16:59:01
iterable

о есть любой генератор

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

Итак

Arseny
12.05.2016
17:00:00
l1 = set(l1) l2 = set(l2) return len(l1 - l2) > 0
кажется, у нас есть победитель

Kolyann
12.05.2016
17:00:35
кажется, у нас есть победитель
а чем вас set(a).issubset(set(c)) не устраивает?

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
return len(set(l1) - set(l2)) > 0
и если эта функция будет вызываться как if foo(l1, l2) то можно и вообще if set(l1) - set(l2) делать

Andrey
12.05.2016
17:07:50
нет

можно без него

Andrey
12.05.2016
17:08:10
нет
5 != True

Это не Си тебе.

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
ну хз, от нее почти ничего не осталось. если помнить алгебру множеств, то все понятно с первого взгляда
Да, я вижу здесь "если разность множеств не пустая", но смысл то другой. Но это ваше дело...

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