Почему Python 2.6 не устанавливает литералов и понятий, а также не понимает диктофон?

Python 2.6 был в основном шаг за шагом, чтобы упростить преобразование в Python 3. Многие функции, предназначенные для Python 3, были реализованы в версии 2.6, если они не нарушали обратную совместимость с синтаксисом и классами lib.

Почему не были заданы литералы ({1, 2, 3}), заданы ли постижения ({v for v in l}) или распознавания dict ({k: v for k, v in d}) среди них? В частности, понимание диктата было бы большим благом... В последнее время я нахожу себя в гораздо более уродливом dict([(k, v) for k, v in d]) ужасном.

Есть ли что-то очевидное, что мне не хватает, или это была просто функция, которая не делала разреза?

Ответы

Ответ 1

Это не было сделано, потому что никто не нашел времени для этого. В течение нескольких месяцев появляются ошибки, и никто не комментировал их:

Таким образом, это было не так важно, чтобы кто-то мог заботиться, возможно.

Ответ 2

Все это синтаксические/грамматические изменения. Такие изменения традиционно вводятся сначала в версии Python x.y с оператором from __future__ import … и реализованы, по крайней мере, в версии Python x. (Y + 1). Такой переход еще не произошел для этих изменений.

Технически я ответил на ваше "почему".

Теперь, если вы имели в виду, "почему никто не нашел времени, чтобы предложить, поддержать и реализовать то, что я хотел бы иметь в 2.x, даже если они не знают об этом, так как я никогда не пробовал предлагать/поддерживать backporting эти синтаксические улучшения в comp.lang.python или Python-Dev, и я никогда не пытался даже прочитать PEP?", тогда ответ лежит и на вас, и вы можете сами дать ответ.

НТН

Кстати, вы не должны использовать форму dict([(k,v) for k,v in d]), но dict((k,v) for k,v in d). Более эффективным. Зачем создавать промежуточный список?