ホームページ  >  記事  >  バックエンド開発  >  Pythonでの逆順ソート、ソート、ソートリストソートの使い方を詳しく解説

Pythonでの逆順ソート、ソート、ソートリストソートの使い方を詳しく解説

巴扎黑
巴扎黑オリジナル
2017-08-23 09:38:323171ブラウズ

Python 言語には 3 つのリストの並べ替え方法があります。逆順/逆順並べ替え、順方向並べ替え、並べ替えられたリストを取得するための並べ替えです。より高度なリストの並べ替えでは、後の 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

この時点で問題が発生し、変数 b が 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() 関数にはパラメーターが必要です (パラメーターはリスト、辞書、タプル、または string)、渡されたかどうかに関係なく、パラメータに関係なく、リストをコンテナとした戻り値が返されます。辞書の場合は、キーのリストが返されます。

>>> 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

「反転」効果はシーケンスをスライスすることによっても達成できます

>>> mystring="54321"
>>> mytuple=(5,4,3,2,1)
>>> mylist=[5,4,3,2,1]
>>> mystring[::-1]
'12345'
>>> mytuple[::-1]
(1, 2, 3, 4, 5)
>>> mylist[::-1]
[1, 2, 3, 4, 5]

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

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