Python には、データをモデル化するための優れた構造がいくつかあります。ここにあるいくつかの :
+-------------------+-----------------------------------+
| indexed by int | no-indexed by int |
+-------------+-------------------+-----------------------------------+
| no-indexed | [1, 2, 3] | {1, 2, 3} |
| by key | or | or |
| | [x+1 in range(3)] | {x+1 in range(3)} |
+-------------+-------------------+-----------------------------------+
| indexed | | {'a': 97, 'c': 99, 'b': 98} |
| by key | | or |
| | | {chr(x):x for x in range(97,100)} |
+-------------+-------------------+-----------------------------------+
Python がデフォルトで key+int によってインデックス付けされた構造体 (PHP 配列など) を含まないのはなぜですか? このオブジェクトをエミュレートするライブラリがあることは知っています ( http://docs.python.org/3/library/collections.html#ordereddict-objects )。しかし、ドキュメントから取得した「orderedDict」の表現は次のとおりです。
OrderedDict([('pear', 1), ('apple', 4), ('orange', 2), ('banana', 3)])
論理的に次のように書かれるべきネイティブ型を持っている方が良いのではないでしょうか:
['a': 97, 'b': 98, 'c': 99]
また、orderedDict 内包表記の同じロジック:
[chr(x):x for x in range(97,100)]
Python の設計で、このように表のセルを埋めるのは理にかなっていますか? これがまだ実装されていない特定の理由はありますか?