Python 2.6基本上是一个让转换到Python 3更容易的垫脚石.如果Python 3没有破坏与语法和类库的向后兼容性,那么很多用于Python 3的功能都在2.6中实现.
为什么没有设置文字({1, 2, 3}
),设置comprehensions({v for v in l}
)或dict comprehensions({k: v for k, v in d}
)?特别是字典理解本来是一个很大的好处...我发现自己dict([(k, v) for k, v in d])
最近使用了相当丑陋的东西.
有没有明显的东西我缺少,或者这只是一个没有削减的功能?
它没有完成,因为没有人花时间去做.几个月都有漏洞,没有人对它们发表评论:
http://bugs.python.org/issue2333
http://bugs.python.org/issue2334
http://bugs.python.org/issue2335
因此,对任何人来说,这可能并不重要.
所有这些都是语法/语法的变化.传统上,这些更改首先在带有from __future__ import …
语句的Python xy版本中引入,并至少在Python x.(y + 1)版本上实现.对于这些变化,这种转变尚未发生.
从技术上讲,我已经回答了你的"为什么".
现在,如果你的意思是,"为什么没有人花时间建议,支持和实现我想在2.x中拥有的东西,即使他们不知道它,因为我从未试图建议/支持向后移植在任一comp.lang.python的或Python的开发者语法增强和我从来没有试过,甚至阅读的PEP?",那么答案就在你过了,你可以自己提供一个答案.
HTH
顺便说一句,你不应该使用dict([(k,v) for k,v in d])
表格,而是dict((k,v) for k,v in d)
.更高效.为什么要创建中间列表?