Python 对列表列表进行排序,在最后一位以 0 升序排列



>haveing, in 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?

可能是这样:

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

最新更新