Por que não Python 2.6 criaram literais e compreensões ou compreensões de dicionários? [fechadas]

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

  •  19-08-2019
  •  | 
  •  

Pergunta

Python 2.6 foi basicamente um trampolim para fazer a conversão para Python 3 mais fácil. Um monte de recursos destinados para Python 3 foram implementadas em 2,6 se não quebrar a compatibilidade com a sintaxe e as bibliotecas de classe.

Por que não foram definidas literais ({1, 2, 3}), compreensões set ({v for v in l}), ou compreensões dict ({k: v for k, v in d}) entre elas? Em particular compreensões dict teria sido um grande benefício ... Eu me encontrar com o consideravelmente mais feio dict([(k, v) for k, v in d]) uma enorme quantidade recentemente.

Existe algo óbvio que estou em falta, ou foi apenas um recurso que não fazer o corte?

Foi útil?

Solução

Não foi feito porque ninguém teve tempo para fazê-lo. Há erros abertos durante meses, e ninguém comentou sobre eles:

Por isso, foi o suficiente não é importante para ninguém cuidado, provavelmente.

Outras dicas

Todos estes são mudanças sintaxe / gramática. Tais mudanças são tradicionalmente introduzido pela primeira vez em uma versão X.Y Python com uma declaração from __future__ import …, e implementado, pelo menos em Python x. (+ 1 y) versão. Essa transição ainda não aconteceu para estas mudanças.

Tecnicamente, eu respondi o seu "porquê".

Agora, se você quis dizer, “por que ninguém tome o tempo para sugerir, apoiar e implementar algo que I gostaria de ter em 2.x também, mesmo que que não sei sobre ele desde I nunca tentei sugerir / suporte backporting essas melhorias de sintaxe em qualquer comp.lang.python ou Python-Dev e I não tentaram até mesmo ler os PEPs?”, em seguida, as mentiras resposta em você também, e você pode oferecer uma resposta a si mesmo.

HTH

BTW, você não deve usar a forma dict([(k,v) for k,v in d]), mas o dict((k,v) for k,v in d). Mais eficiente. Por que criar uma lista intermediária?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top