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






Все это изменения синтаксиса / грамматики. Такие изменения традиционно сначала вводятся в версии Python x.y с помощью оператора from __future__ import … и реализуются, по крайней мере, в версии Python x. (Y + 1). Такого перехода для этих изменений еще не произошло.
Технически я ответил на ваше «почему».
Теперь, если вы имели в виду, «почему никто не нашел время, чтобы предложить, поддержать и реализовать что-то, что я хотел бы иметь и в 2.x, даже если Oни не знает об этом, поскольку я никогда не пытался предложить / поддерживаете обратный перенос этих улучшений синтаксиса в comp.lang.python или Python-Dev, а я никогда даже не пытался читать PEP? », тогда ответ тоже лежит на вас, и вы можете предложить ответ сами.
HTH
Кстати, вам следует использовать не форму dict([(k,v) for k,v in d]), а форму dict((k,v) for k,v in d). Более эффективным. Зачем создавать промежуточный список?
Это не было сделано, потому что никто не нашел на это времени. Баги открываются месяцами, и никто их не комментирует:
Так что, наверное, это было недостаточно важно, чтобы кого-то волновало.
Ваш ответ более лаконичен и полезен, чем мой :)
Обратите внимание, что все эти функции были реализованы в Python 2.7. docs.python.org/dev/whatsnew/2.7.html