
Serge
25.03.2016
16:54:25
хотя, получается, что тогда как раз вызов конструктора- путь в swap

Dmitry
25.03.2016
16:54:59
Я же говорю он как в словаре будет расширяться и перестраиваться по мере заполнения

Serge
25.03.2016
16:55:11
а вот, если {x for x} по одному, то можно еще выехать с ленивостью

Google

Serge
25.03.2016
16:55:18
но процу будет тяжко

Pavel
25.03.2016
16:55:26
В общем, set() - быстро, конструктор с циклом внутри будет честно итерироваться и кормить set.

Aleksandr
25.03.2016
16:55:32
Интересно, алгоритм аллокации памяти там такой же как list или нет ...

Serge
25.03.2016
16:56:19
похоже таки одинаково должно работать в {} и в set()
пора идти код читать

Roman
25.03.2016
16:56:52
>Never call readlines() on a file

Serge
25.03.2016
16:57:04
так можно до любых фантазий договориться

Aleksandr
25.03.2016
16:57:13
Не факт, что одинаково, потому что [x for x in foo] и list(x for x in foo) немного разное

Serge
25.03.2016
16:57:18

Aleksandr
25.03.2016
16:57:51
scope у x разный

Roman
25.03.2016
16:58:00
ну это

Google

Roman
25.03.2016
16:58:10
давайте просто достанем и померяемся :)

Serge
25.03.2016
16:58:36

Aleksandr
25.03.2016
16:58:39
x = 0
[x for x in ...]
print(x)
по идее выдаст последнее значение x из list (или следующее за ним).
С list(x for x in foo) - выдаст 0
Кидали же в этом чатике зубодробильную конструкцию с [...] где какая-то жесть была. И связана она была со скоупом переменных

Dmitry
25.03.2016
16:59:31
Ага

Serge
25.03.2016
16:59:44
x = 0
[x for x in ...]
print(x)
по идее выдаст последнее значение x из list (или следующее за ним).
пора меряться
In [1]: [x for x in range(3)]
Out[1]: [0, 1, 2]
In [2]: print(x)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-2-81745ac23551> in <module>()
----> 1 print(x)
NameError: name 'x' is not defined
In [3]: list(y for y in range(3))
Out[3]: [0, 1, 2]
In [4]: print(y)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-4-36b2093251cd> in <module>()
----> 1 print(y)
NameError: name 'y' is not defined

Dmitry
25.03.2016
16:59:49
Но в 3 вроде норм уже

Serge
25.03.2016
17:00:29

Aleksandr
25.03.2016
17:00:34
Угу, попробуй 2-ой питон.
»> x = 0
»> bar = [x for x in range(10)]
»> x
9
Python 2.7.11 (default, Dec 5 2015, 14:44:53)

Serge
25.03.2016
17:01:21
сраное говно ваш 2-й питон
In [1]: [x for x in range(3)]
Out[1]: [0, 1, 2]
In [2]: print x
2
In [3]: list(y for y in range(3))
Out[3]: [0, 1, 2]
In [4]: print y
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-4-d7b495266d53> in <module>()
----> 1 print y
NameError: name 'y' is not defined

Aleksandr
25.03.2016
17:01:32
Печаль тоска )
Но знать нужно. Особенно любителям математических названий переменных )

Roman
25.03.2016
17:03:29
list([y for y in xrange(3)])

Alexey
25.03.2016
17:04:38

Serge
25.03.2016
17:05:23
да я вспомнил уже, как по приколу в него blueray rip загонял;)

Pavel
25.03.2016
17:05:30

Aleksandr
25.03.2016
17:05:38
Роман борется с проблемой

Google

Aleksandr
25.03.2016
17:06:09
Но ему это не поможет ) Все равно выдаст 2

Serge
25.03.2016
17:06:15
тем более забавно

Michael
25.03.2016
17:08:59
Просто Гвидо...
Лямбда это красиво...
Лямбды в питончике это жалкая пародия.
Такое чувство что гвидо в детстве лисперы унижали.

Aleksandr
25.03.2016
17:09:46
Тогда лисп - язык для истеричных баб )
Так как они как правило любят оверюзать скобки в смайлах )

Serge
25.03.2016
17:12:21
лисп - это низкоуровневый язык
ast наверху - это низкий уровень же

Roman
25.03.2016
17:14:13
https://dpaste.de/Owbc
а сколько у вас оно показывает циферок, если запускать с параметром 64, 4096 и 32768 ?
и что за железка

Serge
25.03.2016
17:18:33
я думаю, такую простыню вряд ли кто-то сейчас будет копипастить и запускать;) опасный ты парень...

GNU/Docker
25.03.2016
17:20:36
Ойвей.
Тогда лисп - язык для истеричных баб )
Так как они как правило любят оверюзать скобки в смайлах )
Так же связано как борода и линукс.

Roman
25.03.2016
17:20:57

Google

Roman
25.03.2016
17:21:00
ookay

Aleksandr
25.03.2016
17:21:06
Т.е. напрямую.


GNU/Docker
25.03.2016
17:21:44
Лисперы не смотрят на скобки, они смотрят на инденты, угадайте как где. Парные скобки подсвечиваются редактором.
Если что-то так мучает, то пишешь короткий макрос, переопределяющий ридтейбл и внутри его вызова пишешь без скобок.
или на синтаксисе любого языка.
как напишешь.
Ок. Значит все линуксоиды - бородатые, и все бородатые - линуксоиды.
Т.е. напрямую.
fs.readdir(source, function (err, files) {
if (err) {
console.log('Error finding files: ' + err)
} else {
files.forEach(function (filename, fileIndex) {
console.log(filename)
gm(source + filename).size(function (err, values) {
if (err) {
console.log('Error identifying file size: ' + err)
} else {
console.log(filename + ' : ' + values)
aspect = (values.width / values.height)
widths.forEach(function (width, widthIndex) {
height = Math.round(width / aspect)
console.log('resizing ' + filename + 'to ' + height + 'x' + height)
this.resize(width, height).write(dest + 'w' + width + '_' + filename, function(err) {
if (err) console.log('Error writing file: ' + err)
})
}.bind(this))
}
})
})
}
})
ой а что это у нас? О, скобочки! Мноого скобочек! Наверное это лисп.
=)


Aleksandr
25.03.2016
17:25:27

Andrey
25.03.2016
17:25:52

Roman
25.03.2016
17:25:53

Aleksandr
25.03.2016
17:26:16
Просто js, просто хард.

GNU/Docker
25.03.2016
17:26:18
У меня тоже генту. А вот борода бывает не всегда.
А два года когда у меня была генту - у меня не было бороды.

Aleksandr
25.03.2016
17:27:03

GNU/Docker
25.03.2016
17:27:11
Связь же.

Aleksandr
25.03.2016
17:27:30
Исключение подтверждает правило.

Google

Roman
25.03.2016
17:28:00
а в js строки иммутабельны?

Aleksandr
25.03.2016
17:28:14
Должны быть.
Иначе все пишут неээфективвное говно )

Roman
25.03.2016
17:29:17
вообщем, лямбды не нужны :)

GNU/Docker
25.03.2016
17:29:33
Это какой-то рандомный кусок жээса. Я его не знаю и знать не хочу.
Ок. Споры вощем тоже не нужны. Те которые истину не порождают )

Serge
25.03.2016
17:30:15
в пятницу в чатике - самое оно:)

GNU/Docker
25.03.2016
17:30:37
Нууу
не совсем
лучше вот что
в пятницу за пивасиком
?

Aleksandr
25.03.2016
17:31:52
Или в качалку )

Dmitry
25.03.2016
17:32:35

Andrey
25.03.2016
17:32:47
лямбды нужны так же, как указатели на функции. например когда ты делаешь операцию удаленно в каком-нибудь мапредьюсе

Roman
25.03.2016
17:33:03
кстати, возвращаясь к уникальным значениям из файла. а что делать, если они там как-то не так лежат? например, мы имеем какой-нибудь бинарный формат?

Dmitry
25.03.2016
17:33:06

Aleksandr
25.03.2016
17:33:21
Тогда это так же, как и list ...

Serge
25.03.2016
17:35:14
Или в качалку )
это надо утром. вот у меня всё болит со вчера, но завтра все равно:)

Andrey
25.03.2016
17:35:14
но когда она в одно выражение, то могу и не объявлять