python3

python3 で、配列の配列をソートする

投稿日:2020年12月16日 更新日:

ラムダ式を使って、任意の要素についてソートすることができる。

arr = [[1,2,3],[2,1,2],[3,3,4],[4,4,1]]

for i in range(0,3):
    arr.sort(key=lambda x: x[i]) 
    print(str(i) + '番目でソート: ' + str(arr))

結果

0番目でソート: [[1, 2, 3], [2, 1, 2], [3, 3, 4], [4, 4, 1]]
1番目でソート: [[2, 1, 2], [1, 2, 3], [3, 3, 4], [4, 4, 1]]
2番目でソート: [[4, 4, 1], [2, 1, 2], [1, 2, 3], [3, 3, 4]]

参考

例では昇順に並べている。降順に並べたいときは、sort のオプションで「reverse=True」と指定すれば良い。


-python3
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

matplotlib でグラフの背景の色を変える方法(facecolor)

次のように、axes で facecolor を変更すればよい。 例 from matplotlib import pyplot as plt x = [2,7,8] y = [7,1 …

no image

python でリストに、コロン演算子2つ(::)を使う

リストのコロンで指定できるパラメータには、「start, end, step」という意味がある。 以下の例では、:: 5 とした場合には、5 をステップとして、次に進んでいく。 ::-5 とした場合に …

no image

python3 で文字列を入力させて受け取る方法

C言語で scanf のようなものを作るには、python では input() で実現できる。 例 print(‘xの値を入力してください’) x = input() print(‘xの値は ‘ + …

no image

matplotlib で、粗い刻みと細かい刻みの目盛りを表示する方法

set_major_locator で粗い刻みの目盛りを調整する。 set_minor_locator で、細かい刻みの目盛りを調整する。 以下の例で set_major_formatter は、表示 …

no image

matplotlib で、x軸・y軸の目盛りを反対方向につけたい場合。

デフォルトでは、x軸はグラフの下に、y軸は左側につけられる。 例 import numpy as np from matplotlib import pyplot as plt x = np.lins …