¿Por qué Python 2.6 no ha establecido literales y comprensiones o dict comprensiones? [cerrado]

StackOverflow https://stackoverflow.com/questions/345356

  •  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?

¿Fue útil?

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?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top