ホームページ >バックエンド開発 >Python チュートリアル >リストの並べ替え: Python の sort、sorted、および numpy.argsort メソッドの詳細な説明

リストの並べ替え: Python の sort、sorted、および numpy.argsort メソッドの詳細な説明

王林
王林オリジナル
2023-06-10 09:22:162186ブラウズ

Python プログラミングでは、リストや配列を並べ替える必要があることがよくあります。 Python は、sort、sorted、numpy.argsort など、さまざまな並べ替えメソッドを提供します。この記事では、これらの仕分け方法の使い方や注意点について詳しく紹介します。

1. ソート メソッド
ソート メソッドは Python リストの組み込みメソッドであり、リストをその場でソートできます (つまり、値を返しますが、新しいソート オブジェクトは生成しません)。追加のインポート ライブラリは必要ありません。 sort メソッドには、key と reverse という 2 つのパラメータがあります。 key はソート時に使用するキーを示し、reverse は逆ソートを実行するかどうかを示します。例:

my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
my_list.sort()
print(my_list) # 输出 [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

my_list.sort(reverse=True)
print(my_list) # 输出 [9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]

my_list = ["apple", "banana", "cherry", "orange"]
my_list.sort(key=lambda x: len(x))
print(my_list) # 输出 ["apple", "cherry", "orange", "banana"]

上記の例では、最初の例では整数のリストを並べ替え、2 番目の例ではリストを逆順に並べ替え、3 番目の例ではラムダ式を使用して文字列のリストを長さで並べ替えています。

sort メソッドはその場でソートされているため、元のリストの順序が変更されることに注意してください。戻り値は None なので、ソートされたリストに対して直接操作を実行することはできません。ソート前のリスト。コピーを作成するか、別の方法を使用してソート結果を保存します。

2. ソート関数
ソート関数は、リスト、タプル、文字列などをソートし、元の入力オブジェクトを変更せずに新しいソートされたオブジェクトを返すことができる Python の組み込み関数です。ソート関数のパラメータは、キーとリバースを含め、ソート メソッドと同じです。例:

my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
new_list = sorted(my_list)
print(new_list) # 输出 [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

new_list = sorted(my_list, reverse=True)
print(new_list) # 输出 [9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]

my_list = ["apple", "banana", "cherry", "orange"]
new_list = sorted(my_list, key=lambda x: len(x))
print(new_list) # 输出 ["apple", "cherry", "orange", "banana"]

ソートされた関数の戻り値は、リスト、タプル、文字列などになります。戻り結果の型は、入力型に基づいて決定されます。

3. numpy.argsort メソッド
numpy.argsort メソッドは numpy のメソッドで、主に numpy 配列をソートするために使用されます。 argsort メソッドは、並べ替えられた添え字を返します。 numpy.argsort メソッドのパラメータもキーとリバースです。例:

import numpy as np

my_array = np.array([3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5])
sort_index = np.argsort(my_array)
print(sort_index) # 输出 [1 3 6 0 9 2 4 8 7 5 10]

sort_index = np.argsort(-my_array)
print(sort_index) # 输出 [5 7 4 2 0 3 6 8 9 1 10]

my_array = np.array(["apple", "banana", "cherry", "orange"])
sort_index = np.argsort([len(x) for x in my_array])
print(sort_index) # 输出 [0 2 3 1]

上記の例では、最初の例は numpy 配列を昇順にソートし、ソートされた添え字を返します。 2 番目の例では、降順に並べ替えるには、配列を反転する必要があります。 3 番目の例は、文字列の配列を長さで並べ替えます。

numpy.argsort メソッドは添え字のリストを返すので、並べ替え結果を取得するには添え字を使用する必要があることに注意してください。

概要:
この記事では主に、Python でリストや配列を並べ替えるために使用できる、Python の sort、sorted、および numpy.argsort メソッドを紹介します。 sort メソッドとsorted 関数は Python の組み込みオブジェクトをソートできます。numpy.argsort メソッドは numpy のメソッドで、主に numpy 配列をソートするために使用されます。これらのメソッドは、キーやリバースなどのパラメータを使用して並べ替え動作を制御できます。必要に応じて、さまざまな並べ替え方法を選択する必要があります。

以上がリストの並べ替え: Python の sort、sorted、および numpy.argsort メソッドの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。