Python のリストのソート方法 reverse、sort、sorted の詳細な説明

高洛峰
リリース: 2017-03-19 15:22:23
オリジナル
2203 人が閲覧しました

python言語にはリストのソート方法が3つあります: 逆順ソート、sort順ソート、ソートされたリストを取得するためのsortedです。より高度なリストの並べ替えでは、後の 2 つの方法で並べ替えの条件パラメータを追加することもできます。

reverse() メソッド

は、次のようなリスト内の要素の並べ替えを逆にします

>>> x = [1,5,2,3,4]
>>> x.reverse()
>>> x
[4, 3, 2, 5, 1]
ログイン後にコピー

リストの逆並べ替え: 順序を変更せずに、元のリスト内の要素を左から右に再格納します。リスト内の要素のパラメータがソートされ、ソートされます。リスト内のパラメータを並べ替える必要がある場合は、リストの別の並べ替え方法であるsortを使用して、正の順序で並べ替える必要があります。

sort() 並べ替えメソッド

この関数メソッドは、リストの内容の前方並べ替えを実行します。並べ替えられた新しいリストは元のリストを上書きします (ID は変更されません)。つまり、sort 並べ替えメソッドは元のリストを直接変更します。リストソート方法 。

>>> a = [5,7,6,3,4,1,2]
>>> a.sort()
>>> a
[1, 2, 3, 4, 5, 6, 7]
ログイン後にコピー

Python 初心者の多くは、sort() メソッドについて混乱しています。場合によっては、ソートされたリストが必要ですが、ソートされていない元のリストを保存したい場合は、次のようにします。

>>> a = [5,7,6,3,4,1,2]
>>> b = a.sort()
>>> print b
None
ログイン後にコピー

この時点で問題が発生し、variableb が null 値を取得します。では、ソートされたリストを取得したいが、元のリストは保持したい場合はどうすればよいでしょうか? listsorted() メソッドはこれを実現するのに役立ちます。

sorted() メソッド

は、元のリストを保持し、ソートされたリストを取得できます。sorted() の操作メソッドは次のとおりです:

>>> a = [5,7,6,3,4,1,2]
>>> b = sorted(a)
>>> a
[5, 7, 6, 3, 4, 1, 2]
>>> b
[1, 2, 3, 4, 5, 6, 7]
ログイン後にコピー

sorted() メソッドは、データ型 の任意のシーケンスで使用できます。返されるのは常にリストの形式です:

>>> sorted('iplaypython.com')
['.', 'a', 'c', 'h', 'i', 'l', 'm', 'n', 'o', 'o', 'p', 'p', 't', 'y', 'y']
ログイン後にコピー

3 つの違い

sort() は変数オブジェクト (辞書、リスト) のメソッドであり、パラメーターも戻り値もありません。sort() は変数を変更します。オブジェクトなので、値を返す必要はありません。 sort() メソッドは、タプルや文字列などの不変オブジェクトに固有のメソッドまたは属性であり、呼び出された場合は例外が返されます。

>>> a=[5,4,3,2,1]
>>> a.sort()
>>> 
>>> a
[1, 2, 3, 4, 5]
ログイン後にコピー


sorted() は Python の

組み込み関数 です。sorted() 関数にはパラメーターが必要です (パラメーターはリスト、辞書にすることができます)。 、タプル、文字列)、どのようなパラメータを渡しても、リストをコンテナとした戻り値が返されます。辞書の場合は、キーのリストが返されます。

>>> mystring="54321"
>>> mytuple=(5,4,3,2,1)
>>> mylist=[5,4,3,2,1]
>>> sorted(mystring)
['1', '2', '3', '4', '5']
>>> sorted(mytuple)
[1, 2, 3, 4, 5]
>>> sorted(mylist)
[1, 2, 3, 4, 5]
ログイン後にコピー


reverse()はsortと同じ方法で使用され、reversed()はsorted()と同じ方法で使用されます

>>> mylist=[5,4,3,2,1]
>>> mylist.reverse()
>>> mylist
[1, 2, 3, 4, 5]
>>> mylist=[5,4,3,2,1]
>>> for i in reversed(mylist):
...   print i,
... 
1 2 3 4 5
ログイン後にコピー


「反転」効果は、シーケンス

れーい


以上がPython のリストのソート方法 reverse、sort、sorted の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート