【发布时间】:2016-02-09 04:00:06
【问题描述】:
我只是在探索 python 在列表中提供的排序功能。在这种情况下我真的很困惑:
l = [[[1, 2, 3],
[2, 3, 4],
[0, 1, 2]],
[[-1, 2, 3],
[0, 3, 4]]]
l.sort()
结果
[[[-1, 2, 3], [0, 3, 4]], [[1, 2, 3], [2, 3, 4], [0, 1, 2]]]
排序发生在哪个索引上?
【问题讨论】:
-
l.sort()对列表l进行排序。l是一个包含两个元素的列表,即l[0] = [[1,2,3],[2,3,4],[0,1,2]]和l[1] = [[-1,2,3],[0,3,4]]。为了对它们进行排序,我们必须确定哪一个小于另一个。由于两者都是可迭代的,我们比较它们的第 0 个元素:l[0][0] = [1, 2, 3]和l[1][0] = [-1, 2, 3]。由于 这些 都是可迭代的,我们再次比较它们的第 0 个元素:l[0][0][0] = 1和l[1][0][0] = -1。由于这些是整数,我们直接比较它们。-1 < 1,所以l[1[0][0] < l[0][0][0],所以l[1][0] < l[0][0],所以l[1] < l[0],你去吧。 -
@JohnLaRooy 很好的答案。非常感谢它真的帮助我理解了这个概念。
标签: python arrays python-2.7 python-3.x multidimensional-array