Python 2d元素使用递归排序

时间:2014-06-08 03:25:56

标签: python arrays sorting recursion

如何根据其中一个元素按字母顺序对2d python数组进行排序。

[['8617622', 'Inner Seas', '', '56.71657', '-10.45898', 'H'
  , 'SEA', '', '', '', '', '', '', '0', '', '-9999', '', '2013-10-01']
  ,['8617622', 'Blue seas', '', '56.71657', '-10.45898', 'H', 'SEA', ''
  , '', '', '', '', '', '0', '', '-9999', '', '2013-10-01']]

如果你注意到,阵列的第二个元素称为蓝色海洋,而第一个元素称为内海。有人可以帮我做一个函数,按字母顺序基于数组中每个数组的第二个元素对数组进行排序吗?

1 个答案:

答案 0 :(得分:1)

您只需将提供键的列表排序为数组中的第二个元素,如下所示:

l = [['8617622', 'Inner Seas', '', '56.71657', '-10.45898', 'H', 'SEA', '', '', '', '', '', '', '0', '', '-9999', '', '2013-10-01'],['8617622', 'Blue seas', '', '56.71657', '-10.45898', 'H', 'SEA', '', '', '', '', '', '', '0', '', '-9999', '', '2013-10-01']]
l.sort(key=lambda x:x[1])
print l