为什么Python 2.6没有设置文字和理解或字典理解?

时间:2008-12-05 22:14:22

标签: python python-3.x

Python 2.6基本上是一个让转换到Python 3更容易的垫脚石。如果Python没有破坏与语法和类库的向后兼容性,那么很多用于Python 3的功能都在2.6中实现。

为什么没有设置文字({1, 2, 3}),设置理解({v for v in l})或dict comprehensions({k: v for k, v in d})?特别是字典理解本来是一个很大的好处......我发现自己最近使用了相当丑陋的dict([(k, v) for k, v in d])

是否有一些明显我缺失的东西,或者这只是一个没有削减的功能?

2 个答案:

答案 0 :(得分:19)

没有完成,因为没有人花时间去做。有几个月都有漏洞,没有人对它们发表评论:

因此,对任何人来说都不够重要。

答案 1 :(得分:10)

所有这些都是语法/语法更改。传统上,这些更改首先在具有from __future__ import …语句的Python x.y版本中引入,并至少在Python x。(y + 1)版本上实现。这种转变尚未发生。

从技术上讲,我已经回答了你的“为什么”。

现在,如果你的意思,“为什么没有人花时间建议,支持和实现希望在2.x中拥有的东西,即使他们不了解它,因为从未试图建议/支持在comp.lang.python或Python-Dev和 I 中反向移植那些语法增强功能试图甚至阅读PEP?“,那么答案也在于你,你可以自己提供答案。

HTH

顺便说一句,您不应该使用dict([(k,v) for k,v in d])表单,而应使用dict((k,v) for k,v in d)。更高效。为什么要创建一个中间列表?