Warum Python nicht 2.6 Set Literale und Comprehensions oder dict Comprehensions? [geschlossen]

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

  •  19-08-2019
  •  | 
  •  

Frage

Python 2.6 war im Grunde ein Sprungbrett zu Python 3 zu erleichtern konvertieren. Viele der für Python bestimmt Funktionen 3 in 2.6 implementiert wurden, wenn sie nicht die Abwärtskompatibilität mit Syntax und der Klasse Libs brechen haben.

Warum wurden nicht gesetzt Literale ({1, 2, 3}), Satz Comprehensions ({v for v in l}) oder dict Comprehensions ({k: v for k, v in d}) unter ihnen? Insbesondere dict Comprehensions wäre ein großer Segen gewesen ... Ich finde mich mit dem deutlich hässlichen dict([(k, v) for k, v in d]) schrecklich viel in letzter Zeit.

Gibt es etwas offensichtlich fehlt mir, oder war dies nur eine Funktion, die nicht den Schnitt haben?

War es hilfreich?

Lösung

Es war nicht getan, weil niemand die Zeit, es zu tun hat. Es gibt Fehler für Monate geöffnet, und niemand kommentiert sie:

So ist es nicht wichtig genug war für niemanden zu interessieren, wahrscheinlich.

Andere Tipps

Alle diese sind Syntax / Grammatik Änderungen. Solche Änderungen werden zunächst mit einer from __future__ import … Anweisung in einer Python x.y Version traditionell eingeführt und zumindest auf Python x umgesetzt. (Y + 1) Version. Ein solcher Übergang passiert ist noch nicht für diese Änderungen.

Technisch habe ich beantwortet Ihre "Warum".

Wenn Sie nun gemeint, „warum jemand nicht die Zeit nehmen, vorschlägt, Unterstützung und Umsetzung etwas, das I möchte in 2.x hat auch, selbst wenn sie nicht darüber wissen, da I nie versucht vorzuschlagen / Unterstützung in dieser Syntax Verbesserungen Zurückportieren entweder comp.lang.python oder Python-Dev und I nie sogar den Pep zu lesen versucht?“, dann auch die Antwort liegt in dir, und Sie können eine Antwort selbst anbieten.

HTH

BTW, sollten Sie nicht die dict([(k,v) for k,v in d]) Form verwenden, aber den dict((k,v) for k,v in d). Effizienter. Warum eine Zwischenliste erstellen?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top