Pourquoi Python 2.6 n'a-t-il pas de littéraux et de compréhensions définis ou de compréhensions de dict? [fermé]

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

  •  19-08-2019
  •  | 
  •  

Question

Python 2.6 était fondamentalement un tremplin pour faciliter la conversion en Python 3. Un grand nombre des fonctionnalités destinées à Python 3 ont été implémentées dans la version 2.6 si la compatibilité avec la syntaxe et les bibliothèques de classes n'était pas rétrogradée.

Pourquoi n’a-t-on pas défini de littéraux ( {1, 2, 3} ), de compréhensions de définition ( {v pour v dans l} ) ou de compréhensions de dictée (< code> {k: v pour k, v dans d} ) parmi eux? En particulier, la compréhension de dict aurait été une aubaine ... Je me suis retrouvé à utiliser le dict ([(k, v) pour k, v dans d]) considérablement plus laid beaucoup dernièrement.

Y at-il quelque chose d’évident qui me manque ou s’agissait-il simplement d’une fonctionnalité qui n’a pas fait la différence?

Était-ce utile?

La solution

Cela n’a pas été fait car personne n’a pris le temps de le faire. Des bogues sont ouverts depuis des mois et personne ne les a commentés:

Donc, ce n'était pas assez important pour que quiconque s'en soucie, probablement.

Autres conseils

Ce sont tous des changements de syntaxe / grammaire. De tels changements sont généralement introduits d’abord dans une version Python x.y avec une instruction à partir de __future__ import & # 8230; , et sont au moins implémentés dans la version Python x. (Y + 1). Une telle transition n'a pas encore eu lieu pour ces changements.

Techniquement, j'ai répondu à votre "pourquoi".

Maintenant, si vous vouliez dire: "Pourquoi personne n'a-t-il pris le temps de suggérer, de soutenir et de mettre en œuvre quelque chose que je aimerais avoir dans la version 2.x également, même si < em> ils ne le savent pas car I n'a jamais essayé de suggérer / de soutenir le portage de ces améliorations de syntaxe dans comp.lang.python ou Python-Dev et I n’avez jamais essayé de lire les PEP? & # 8221 ;, alors la réponse réside aussi en vous et vous pouvez y répondre vous-même.

HTH

BTW, vous ne devriez pas utiliser la forme dict ([(k, v) pour k, v dans d]) , mais le dict ((k, v) pour k , v en d) . Plus efficace. Pourquoi créer une liste intermédiaire?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top