Perché Python 2.6 non ha impostato valori letterali e di comprensione o comprensioni dettate? [chiuso]

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

  •  19-08-2019
  •  | 
  •  

Domanda

Python 2.6 è stato sostanzialmente un trampolino di lancio per rendere più semplice la conversione in Python 3. Molte delle funzionalità destinate a Python 3 sono state implementate in 2.6 se non hanno rotto la retrocompatibilità con la sintassi e le librerie di classe.

Perché non sono stati impostati valori letterali ( {1, 2, 3} ), impostati comprensione ( {v for v in l} ) o comprensione dettata (< codice> {k: v per k, v in d} ) tra loro? In particolare la comprensione del dict sarebbe stata un grande vantaggio ... Mi ritrovo a usare il dict ([(k, v) per k, v in d]) molto più brutto ultimamente.

C'è qualcosa di ovvio che mi manca, o era solo una caratteristica che non ha fatto il taglio?

È stato utile?

Soluzione

Non è stato fatto perché nessuno si è preso il tempo per farlo. Ci sono bug aperti da mesi e nessuno li ha commentati:

Quindi non era abbastanza importante per nessuno, probabilmente.

Altri suggerimenti

Tutti questi sono cambiamenti di sintassi / grammatica. Tali modifiche vengono tradizionalmente introdotte per prime in una versione di Python x.y con un'istruzione from __future__ import & # 8230; e implementate almeno sulla versione di Python x. (Y + 1). Una simile transizione non è ancora avvenuta per questi cambiamenti.

Tecnicamente, ho risposto al tuo " why " ;.

Ora, se volevi dire, & # 8220; perché nessuno si è preso il tempo di suggerire, supportare e implementare qualcosa che I vorrebbe avere anche in 2.x, anche se < em> loro non lo conoscono dal momento che I non ha mai provato a suggerire / supportare il backport di questi miglioramenti della sintassi in comp.lang.python o Python-Dev e I non hai mai provato a leggere nemmeno i PEP?

HTH

A proposito, non dovresti usare il dict ([(k, v) per k, v in d]) , ma il dict ((k, v) per k , v in d) . Più efficiente. Perché creare un elenco intermedio?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top