【发布时间】:2018-04-05 05:48:15
【问题描述】:
我有一些数据数组:
a = numpy.array([[ 1, 2, 3, 4],
[ 10, 20, 30, 40],
[100, 200, 300, 400]])
并使用a 创建dictionary:
d = dict(zip( ['a', 'b', 'c'], a))
所以:
print(d)
{'a': array([1, 2, 3, 4]), 'b': array([10, 20, 30, 40]), 'c': array([100, 200, 300, 400])}
据我所知,Python 3.x 字典具有恒定的元素顺序。因此,据我了解,如果 a 是 d 中的第一个元素,它总是成为第一个。
我的问题,如果我的推理是正确的,是否有任何方法可以使用它的索引号来引用元素?
我知道我做不到
d[0] 因为里面没有 0 键。但也许有某种方式:d{0} 或 d.values[0]。
【问题讨论】:
-
在 Python 3 本身中不是恒定的排序,但在 CPython 3 中尤其如此。语言规范在这方面没有改变(afaik)。
-
我认为字典仅在 python 3.6+ 中排序
-
如果我没记错的话,命令是在 Python 3.6 以上的字典中实现的。然而,这并不意味着您可以使用索引来引用字典位置。但无论如何,如果订单对您很重要,
dictionaries不是您要走的路。 -
字典仍然没有语义排序。
标签: python arrays python-3.x dictionary indexing