【Python】リストをソートする方法

この記事では、Pythonでリストをソートする方法について解説します。

リストを昇順や降順にソートする方法や、カスタム関数を使用してソートする方法、さらにはリストの一部をソートする方法について学ぶことができます。

目次から探す

リストを昇順でソートする方法

Pythonでは、組み込みのsorted()関数を使用してリストを昇順でソートすることができます。

sorted()関数は新しいソートされたリストを返すため、元のリストは変更されません。

以下は、リストを昇順でソートする例です。

numbers = [5, 2, 8, 1, 9]
sorted_numbers = sorted(numbers)
print(sorted_numbers)
[1, 2, 5, 8, 9]

sorted()関数は、リストの要素を昇順に並べ替えます。

この場合、numbersリストの要素が昇順に並べ替えられ、新しいリストsorted_numbersに格納されます。

リストを降順でソートする方法

リストを降順でソートするには、sorted()関数のreverseパラメータをTrueに設定します。

以下は、リストを降順でソートする例です。

numbers = [5, 2, 8, 1, 9]
sorted_numbers = sorted(numbers, reverse=True)
print(sorted_numbers)
[9, 8, 5, 2, 1]

sorted()関数のreverseパラメータをTrueに設定することで、リストの要素が降順に並べ替えられます。

カスタム関数を使用してリストをソートする方法

Pythonでは、sorted()関数のkeyパラメータを使用して、カスタム関数を指定することでリストをソートすることができます。

カスタム関数は、各要素を受け取り、ソートの基準となる値を返す必要があります。

以下は、カスタム関数を使用してリストをソートする例です。

def get_length(element):
    return len(element)

fruits = ["apple", "banana", "orange", "kiwi"]
sorted_fruits = sorted(fruits, key=get_length)
print(sorted_fruits)
['kiwi', 'apple', 'banana', 'orange']

この例では、get_length()というカスタム関数を定義し、各要素の長さを返すようにしています。

sorted()関数のkeyパラメータにget_lengthを指定することで、リストの要素を長さの昇順にソートします。

リストの一部をソートする方法

Pythonでは、スライスを使用してリストの一部をソートすることができます。

スライスを使用することで、リストの一部分だけを取り出し、その部分をソートすることができます。

以下は、リストの一部をソートする例です。

numbers = [5, 2, 8, 1, 9]
numbers[1:4] = sorted(numbers[1:4])
print(numbers)
[5, 1, 2, 8, 9]

この例では、numbersリストのインデックス1から4の範囲を取り出し、sorted()関数を使用してソートします。

その後、ソートされた部分リストを元のリストに代入することで、リストの一部がソートされます。

以上が、Pythonでリストをソートする方法です。

それぞれの方法を使いこなすことで、リストの要素を効率的にソートすることができます。

目次から探す