Ответ 1
Это не было сделано, потому что никто не нашел времени для этого. В течение нескольких месяцев появляются ошибки, и никто не комментировал их:
Таким образом, это было не так важно, чтобы кто-то мог заботиться, возможно.
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])
ужасном.
Есть ли что-то очевидное, что мне не хватает, или это была просто функция, которая не делала разреза?
Это не было сделано, потому что никто не нашел времени для этого. В течение нескольких месяцев появляются ошибки, и никто не комментировал их:
Таким образом, это было не так важно, чтобы кто-то мог заботиться, возможно.
Все это синтаксические/грамматические изменения. Такие изменения традиционно вводятся сначала в версии 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)
. Более эффективным. Зачем создавать промежуточный список?