【问题标题】:According to which index a multidimensional list is sorted in python根据哪个索引在python中对多维列表进行排序
【发布时间】: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] = 1l[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


【解决方案1】:

排序发生在给定的两个数组的第一个元素(索引为 0 的元素)。在这种情况下,因为[-1,2,3] 会出现在[1,2,3] 之前,所以它会产生你给的结果,

【讨论】:

    猜你喜欢
    • 2014-11-29
    • 2018-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-31
    相关资源
    最近更新 更多