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 设计中像这样填充表格单元格是否有意义?是否有任何特殊原因尚未实施?