Python 言語には 3 つのリストの並べ替え方法があります。逆順/逆順並べ替え、順方向並べ替え、並べ替えられたリストを取得するための並べ替えです。より高度なリストの並べ替えでは、後の 2 つの方法で並べ替えの条件パラメータを追加することもできます。
reverse() メソッド
は、次のようにリスト内の要素の順序を逆にします。
>>> x = [1,5,2,3,4] >>> x.reverse() >>> x [4, 3, 2, 5, 1]
リストの逆順並べ替え: 代わりに、元のリスト内の要素を左から右に再格納します。 of リスト内のパラメータがソートされます。リスト内のパラメータを並べ替える必要がある場合は、リストの別の並べ替え方法である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
この時点で問題が発生し、変数 b が null 値を取得します。では、ソートされたリストを取得したいが、元のリストも保持したい場合はどうすればよいでしょうか? listsorted() メソッドはこれを実現するのに役立ちます。
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]
3 つの
sort() の違いは、変数オブジェクト (辞書、リスト) のメソッドであり、パラメーターも戻り値もありません。 ) は変数 Object を変更するため、戻り値は必要ありません。 sort() メソッドは、可変オブジェクトに固有のメソッドまたは属性です。タプルや文字列などの不変オブジェクトには、これらのメソッドがありません。呼び出すと、例外が返されます。
>>> sorted('iplaypython.com') ['.', 'a', 'c', 'h', 'i', 'l', 'm', 'n', 'o', 'o', 'p', 'p', 't', 'y', 'y']sorted() は Python の組み込み関数であり、可変オブジェクト (リストと辞書) の独自のメソッドではありません。sorted() 関数にはパラメーターが必要です (パラメーターはリストにすることもできます)。辞書、タプル、文字列)、どのようなパラメータを渡しても、リストをコンテナとした戻り値が返されます。辞書の場合は、キーのリストが返されます。
>>> a=[5,4,3,2,1] >>> a.sort() >>> >>> a [1, 2, 3, 4, 5]
>>> 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]
>>> 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
の効果