\

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_reverseTrueの場合、ソートは降順になります。

以上、Pythonでリストを条件付きでソートする方法について説明しました。これらの方法を活用して、Pythonプログラミングをより効率的に行いましょう。

投稿者 admin

コメントを残す

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