Почему в Python 2.6 не установлены литералы и понимания или понимания слов?

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 2.7. docs.python.org/dev/whatsnew/2.7.html

mbauman 10.02.2012 04:32
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
14
1
4 172
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Все это изменения синтаксиса / грамматики. Такие изменения традиционно сначала вводятся в версии 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). Более эффективным. Зачем создавать промежуточный список?

Ответ принят как подходящий

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

Так что, наверное, это было недостаточно важно, чтобы кого-то волновало.

Ваш ответ более лаконичен и полезен, чем мой :)

tzot 06.12.2008 11:54

Другие вопросы по теме