Python 2.6でリテラルと内包表記または辞書内包表記が設定されていないのはなぜですか? [閉まっている]
-
19-08-2019 - |
質問
Python 2.6は、基本的にPython 3への変換を容易にするための足掛かりでした。 Python 3向けの多くの機能は、構文およびクラスライブラリとの後方互換性を損なわない限り、2.6で実装されました。
なぜリテラル({1, 2, 3}
)の設定、内包表記({v for v in l}
)、または内包表記({k: v for k, v in d}
)が設定されなかったのですか?特に辞書の理解は大きな恩恵だったでしょう...最近、かなりmyselfいdict([(k, v) for k, v in d])
を非常に多く使用しています。
欠落している明らかなものがありますか、またはこれは単にカットを行わなかった機能でしたか?
解決
時間をかけて誰もやらなかったので、それは行われませんでした。バグは数か月間公開されており、誰もコメントしていません:
だから、誰もが気にするほど重要ではなかったでしょう。
他のヒント
これらはすべて構文/文法の変更です。このような変更は、伝統的にfrom __future__ import …
ステートメントを使用してPython x.yバージョンで最初に導入され、少なくともPython x。(y + 1)バージョンで実装されます。これらの変更については、このような移行はまだ行われていません。
技術的には、あなたの<!> quot;なぜ<!> quot;と答えました。
今、もしあなたが意味するなら、<!>#8220;なぜ2.xでも I が持ちたいと思うものを提案、サポート、実装するのに時間をかけなかったのです。 I がcomp.lang.pythonまたはPython-Devと Iのいずれかでこれらの構文拡張をバックポートすることを提案/サポートしようとしたことがないため、 they がわからない場合 PEPを読もうとはしませんでしたか?
HTH
ところで、dict([(k,v) for k,v in d])
形式を使用するのではなく、dict((k,v) for k,v in d)
を使用する必要があります。もっと効率的な。中間リストを作成する理由