Pythonでは、リストを特定の条件でソートするためのいくつかの方法があります。以下にその一部を紹介します。
sorted()やsort()関数を使用する
Pythonのsorted()
関数やリストオブジェクトのsort()
メソッドを使用して、リストをソートすることができます。これらの関数は、key
引数に関数を指定することで、ソートの基準をカスタマイズすることができます。
例えば、以下のコードは、2次元リストを2番目の要素で降順にソートします。
l_2d = [[2, 10], [1, -30], [-3, 20]]
print(sorted(l_2d, key=lambda x: x[1], reverse=True)) # [[-3, 20], [2, 10], [1, -30]]
この例では、key
引数にラムダ関数を指定しています。この関数は、リストの各要素(ここではx
)を入力として受け取り、その2番目の要素(x[1]
)を返します。reverse=True
を指定することで、ソートを降順にします。
自作関数を使用する
自作の関数を使用して、リストを条件付きでソートすることも可能です。以下にその一例を示します。
def sortListInCondition(input_list:list, input_func, bool_reverse=False) -> list:
temp_list = input_list.copy()
if bool_reverse:
temp_list.sort(key=input_func, reverse=True)
else:
temp_list.sort(key=input_func)
return temp_list
この関数sortListInCondition
は、リストinput_list
と関数input_func
を引数に取り、input_func
をソートの基準として使用します。bool_reverse
がTrue
の場合、ソートは降順になります。
以上、Pythonでリストを条件付きでソートする方法について説明しました。これらの方法を活用して、Pythonプログラミングをより効率的に行いましょう。