Python在最后一个位置对列表进行排序,列表以0递增

时间:2017-04-13 10:40:48

标签: python list sorting python-2.x

在Python 2.x中使用

x = [
  [0,0,0],
  [1,2,3],
  [150,400,200],
  [0,0,0],
  [225,100,150]
]

我该怎么做才能让x变为

[
  [1,2,3],
  [225,100,150],
  [150,400,200],
  [0,0,0],
  [0,0,0],
]

x[i][2]按升序排序,最后为0?

2 个答案:

答案 0 :(得分:2)

可能是这样:

sorted(t, key=lambda x: x[2] if x[2] > 0 else float('inf'))

答案 1 :(得分:1)

x.sort(key=lambda y: (y[2] == 0, y[2]))