Python

Python 2次元配列を指定の列で昇順・降順にする

表や読み込んだcsvの内、指定した列を基準に昇順・降順にソート(並び替え)する方法を確認する。

array = [
  #0列目, 1列目, 2列目
  [0, 20, 1000], 
  [1, 22, 1200],
  [2, 18, 900]
]
sorted_array = sorted(array, key=lambda x:(x[1])) # 1列目を基準に昇順にソート
print(sorted_array) 
# [[2, 18, 900],
#  [0, 20, 1000],
#  [1, 22, 1200]]


array2 = [
  [0, 20, 1000], 
  [1, 22, 1200],
  [2, 18, 900],
  [3, 20, 1500]
]
sorted_array2 = sorted(array2, key=lambda x:(x[1], x[2]), reverse=True) # 1,2列目を基準に降順にソート(1列目が同じ時は2列目で判断)
print(sorted_array2) 
# [[1, 22, 1200],
#  [3, 20, 1500],
#  [0, 20, 1000],
#  [2, 18, 900]]