¿Por qué Python 2.6 no ha establecido literales y comprensiones o dict comprensiones? [cerrado]
-
19-08-2019 - |
Pregunta
Python 2.6 fue básicamente un trampolín para facilitar la conversión a Python 3. Muchas de las características destinadas a Python 3 se implementaron en 2.6 si no rompen la compatibilidad con la sintaxis y las librerías de clase.
¿Por qué no se establecieron literales ( {1, 2, 3}
), se establecieron comprensiones ( {v para v en l}
) o se dictaron comprensiones (< code> {k: v para k, v en d} ) entre ellos? En particular, las comprensiones de dict hubieran sido de gran ayuda ... Me encuentro usando el dict ([(k, v) for k, v in d])
considerablemente más feo últimamente.
¿Hay algo obvio que me falta, o fue solo una característica que no hizo el corte?
Solución
No se hizo porque nadie se tomó el tiempo para hacerlo. Hay errores abiertos durante meses, y nadie comentó sobre ellos:
Entonces, no era lo suficientemente importante para que a nadie le importara, probablemente.
Otros consejos
Todos estos son cambios de sintaxis / gramática. Tales cambios se introducen tradicionalmente primero en una versión Python x.y con una instrucción from __future__ import & # 8230;
, y se implementan al menos en la versión Python x. (Y + 1). Tal transición aún no ha sucedido para estos cambios.
Técnicamente, he respondido a tu "por qué".
Ahora, si quisiste decir, & # 8220; ¿por qué nadie se tomó el tiempo para sugerir, apoyar e implementar algo que a I me gustaría tener en 2.x también, incluso si < em> ellos no lo saben, ya que I nunca trató de sugerir / apoyar el respaldo de esas mejoras de sintaxis en comp.lang.python o Python-Dev y I ¿nunca intentó siquiera leer las PEP? & # 8221 ;, entonces la respuesta también reside en usted y puede ofrecer una respuesta usted mismo.
HTH
Por cierto, no debe usar la forma dict ([(k, v) para k, v in d])
, sino la dict ((k, v) para k , v en d)
. Más eficiente. ¿Por qué crear una lista intermedia?