Frage Warum hat Python 2.6 keine Literale und Comprehensions oder Dict-Comprehensions gesetzt? [geschlossen]


Python 2.6 war im Grunde ein Sprungbrett, um die Konvertierung zu Python 3 zu vereinfachen. Viele der für Python 3 bestimmten Funktionen wurden in 2.6 implementiert, wenn sie die Rückwärtskompatibilität mit der Syntax und den Klassenbibliotheken nicht zerstörten.

Warum wurden keine Literale gesetzt ({1, 2, 3}), legen Sie die Vollständigkeit fest ({v for v in l}) oder dict comprehensions ({k: v for k, v in d}) darunter? Insbesondere dict comprehensions wäre ein großer Segen gewesen ... Ich benutze das wesentlich hässlicher dict([(k, v) for k, v in d]) in letzter Zeit sehr viel.

Gibt es etwas Offensichtliches, das ich vermisse, oder war das nur ein Feature, das den Schnitt nicht gemacht hat?


14
2017-12-05 22:14


Ursprung


Antworten:


Es wurde nicht gemacht, weil sich niemand die Zeit genommen hat. Es gibt seit Monaten Bugs, und niemand hat sie kommentiert:

Es war also nicht wichtig genug, dass sich irgendjemand darum kümmerte.


19
2017-12-05 23:35



All dies sind Syntax / Grammatik-Änderungen. Solche Änderungen werden traditionell zuerst in einer Python x.y Version mit einem from __future__ import … Anweisung, und implementiert mindestens auf Python x. (y + 1) Version. Ein solcher Übergang ist für diese Veränderungen noch nicht eingetreten.

Technisch habe ich dein "Warum" beantwortet.

Nun, wenn du meintest: "Warum hat sich niemand die Zeit genommen, etwas vorzuschlagen, zu unterstützen und umzusetzen? ich möchte in 2.x auch haben, auch wenn Sie Ich weiß es seither nicht mehr ich hat nie versucht, diese Syntaxverbesserungen entweder in comp.lang.python oder Python-Dev and / zurückzuschreiben / unterstützen ich Haben Sie nie versucht, die PEPs zu lesen? ", dann liegt die Antwort auch bei Ihnen, und Sie können selbst eine Antwort geben.

HTH

Übrigens solltest du das nicht benutzen dict([(k,v) for k,v in d]) Form, aber die dict((k,v) for k,v in d). Effizienter. Warum eine Zwischenliste erstellen?


10
2017-12-05 23:29