logo

Pythonのsorted()関数

Pythonのsorted()関数 ソートされたリストを返します。これはリストに対して定義されるだけでなく、あらゆる反復可能 (リスト、タプル、文字列など) を受け入れます。

Python3






print>(>sorted>([>4>,>1>,>3>,>2>]))>

>

>

出力

[1, 2, 3, 4]>

Pythonのsorted()関数の構文

ソート済み(反復可能、キー、逆順)

パラメーター:

  • 反復可能: シーケンス (リスト、タプル、文字列)、コレクション (ディクショナリ、セット、フローズンセット)、またはソートが必要なその他のイテレータ。
  • (オプション): ソート比較のキーまたは基礎として機能する関数。
  • 逆行する (オプション): True の場合、反復可能オブジェクトは逆 (降順) で並べ替えられます。デフォルトでは False に設定されます。

戻る: 要素をソートされた順序で含むリストを返します。

Pythonでsorted()関数を使用する方法?

sorted() 関数の使用は非常に簡単です。これは Python の組み込み関数であり、任意の反復可能関数で使用できます。例を挙げて理解を深めてみましょう。

例:

Python3




# creating a list> counting>=> [>4>,>1>,>5>,>2>,>3>]> #print sorted list> print>(>sorted>(counting))>

>

>

出力

[1, 2, 3, 4, 5]>

その他の Sorted() 関数の例

sorted() 関数の使用例をいくつか見てみましょう。

1.sorted()関数を使用してPythonリストを並べ替える

この例では、sorted を適用しています。 Python リスト

Python3




Androidで隠れたアプリを見つける方法
x>=> [>2>,>8>,>1>,>4>,>6>,>3>,>7>]> > print>(>'Sorted List returned :'>,>sorted>(x))> > print>(>'Reverse sort :'>,>sorted>(x, reverse>=>True>))> > print>(>' Original list not modified :'>, x)>

>

ソフトウェア開発ライフサイクル
>

出力

Sorted List returned : [1, 2, 3, 4, 6, 7, 8] Reverse sort : [8, 7, 6, 4, 3, 2, 1] Original list not modified : [2, 8, 1, 4, 6, 3, 7]>

2.sorted()関数を使用して異なるデータ型を並べ替える

この例では、リストなどのさまざまなデータ型でsorted()を使用しました。 タプル 、 弦、 辞書 、セット、冷凍セット。

Python3




# List> x>=> [>'q'>,>'w'>,>'r'>,>'e'>,>'t'>,>'y'>]> print>(>sorted>(x))> > # Tuple> x>=> (>'q'>,>'w'>,>'e'>,>'r'>,>'t'>,>'y'>)> print>(>sorted>(x))> > # String-sorted based on ASCII translations> x>=> 'python'> print>(>sorted>(x))> > # Dictionary> x>=> {>'q'>:>1>,>'w'>:>2>,>'e'>:>3>,>'r'>:>4>,>'t'>:>5>,>'y'>:>6>}> print>(>sorted>(x))> > # Set> x>=> {>'q'>,>'w'>,>'e'>,>'r'>,>'t'>,>'y'>}> print>(>sorted>(x))> > # Frozen Set> x>=> frozenset>((>'q'>,>'w'>,>'e'>,>'r'>,>'t'>,>'y'>))> print>(>sorted>(x))>

>

>

出力

['e', 'q', 'r', 't', 'w', 'y'] ['e', 'q', 'r', 't', 'w', 'y'] ['h', 'n', 'o', 'p', 't', 'y'] ['e', 'q', 'r', 't', 'w', 'y'] ['e', 'q', 'r', 't', 'w', 'y'] ['e', 'q', 'r', 't', 'w', 'y']>

3. Pythonのsorted()を使用した逆ソート

設定により文字列を辞書編集上の逆順に並べ替える 逆=真 ソートされた()関数内。

Python3




# Python3 code to demonstrate> # Reverse Sort a String> # using join() + sorted() + reverse> > # initializing string> test_string>=> 'geekforgeeks'> > # printing original string> print>(>'The original string : '> +> str>(test_string))> > # using join() + sorted() + reverse> # Sorting a string> res>=> ''.join(>sorted>(test_string, reverse>=> True>))> > # print result> print>(>'String after reverse sorting : '> +> str>(res))>

>

>

出力

The original string : geekforgeeks String after reverse sorting : srokkggfeeee>

4.ラムダを使用したPython Sorted()

Python ラムダ関数内でのsorted()の使用。

Python3




import> functools> test_string>=> 'geekforgeeks'> > print>(>'The original string : '> +> str>(test_string))> # using sorted() + reduce() + lambda> res>=> functools.>reduce>(>lambda> x, y: x>+> y,> >sorted>(test_string,> >reverse>=>True>))> print>(>'String after reverse sorting : '> +> str>(res))>

>

>

出力

「ライオンとトラの違いは何ですか」
The original string : geekforgeeks String after reverse sorting : srokkggfeeee>

5. Python で len() を使用した Sorted()

この例では、リストを長さに基づいて並べ替えています。最小の長さの文字列が最初に来る必要があります。

Python3




L>=> [>'cccc'>,>'b'>,>'dd'>,>'aaa'>]> print>(>'Normal sort :'>,>sorted>(L))> print>(>'Sort with len :'>,>sorted>(L, key>=>len>))>

>

>

出力

Normal sort : ['aaa', 'b', 'cccc', 'dd'] Sort with len : ['b', 'dd', 'aaa', 'cccc']>

キーは、並べ替えの基礎となる値としてユーザー定義関数を取ることもできます。

例:

Python3




# Sort a list of integers based on> # their remainder on dividing from 7> def> func(x):> >return> x>%> 7> > L>=> [>15>,>3>,>11>,>7>]> > print>(>'Normal sort :'>,>sorted>(L))> print>(>'Sorted with key:'>,>sorted>(L, key>=>func))>

>

>

出力

Normal sort : [3, 7, 11, 15] Sorted with key: [7, 15, 3, 11]>

6.sorted()でリストを昇順に並べ替える

my_list には整数値のリストがあります。次に、sorted 関数を使用してリストを昇順に並べ替えます。ソート関数は、ソート対象の反復可能オブジェクトを最初の引数として受け取り、ソートされた要素を含む新しいリストを返します。

my_string には文字列があります。次に、sorted 関数を使用して、文字列内の文字を昇順に並べ替えます。ソートされた関数は、文字列を反復可能な文字として扱い、ソートされた文字を含む新しいリストを返します。

my_tuples には、整数と文字列を含むタプルのリストがあります。各タプルの 2 番目の要素に基づいてリストをソートするために、sorted 関数を使用しました。これを実現するために、ラムダ関数をキー引数としてソート関数に渡しました。

Python3




my_list>=> [>3>,>1>,>4>,>1>,>5>,>9>,>2>,>6>,>5>]> sorted_list>=> sorted>(my_list)> print>(sorted_list)> > my_string>=> 'hello, world!'> sorted_string>=> sorted>(my_string)> print>(sorted_string)> > my_tuples>=> [(>1>,>'one'>), (>3>,>'three'>), (>2>,>'two'>), (>4>,>'four'>)]> sorted_tuples>=> sorted>(my_tuples, key>=>lambda> x: x[>1>])> print>(sorted_tuples)>

Javaオブジェクトの等価性

>

>

出力

[1, 1, 2, 3, 4, 5, 5, 6, 9] [' ', '!', ',', 'd', 'e', 'h', 'l', 'l', 'l', 'o', 'o', 'r', 'w'] [(4, 'four'), (1, 'one'), (3, 'three'), (2, 'two')]>

7.sorted()を使用した特定のキーによる辞書のリストのソート

この例では、辞書のリストを特定のキーでソートしています。

Python3




students>=> [> >{>'name'>:>'John'>,>'age'>:>20>},> >{>'name'>:>'Alice'>,>'age'>:>18>},> >{>'name'>:>'Bob'>,>'age'>:>22>}> ]> sorted_students>=> sorted>(students,key>=>lambda> x: x[>'age'>])> print>(sorted_students)>

>

>

出力

[{'name': 'Alice', 'age': 18}, {'name': 'John', 'age': 20}, {'name': 'Bob', 'age': 22}]>

8. カスタムオブジェクトのリストの並べ替え

この例では、name と age の 2 つのインスタンス変数を持つ Person という名前のカスタム クラスを作成し、その Person クラスの 3 つのオブジェクトを作成して、オブジェクトをリストに挿入しています。人のオブジェクトをソートする Sorted 関数を使用しています。

Python3




class> Person:> >def> __init__(>self>, name, age):> >self>.name>=> name> >self>.age>=> age> > >def> __repr__(>self>):> >return> f>'Person(name='{self.name}', age={self.age})'> > > people>=> [> >Person(>'John'>,>25>),> >Person(>'Alice'>,>18>),> >Person(>'Bob'>,>30>)> ]> sorted_people>=> sorted>(people, key>=>lambda> x: x.age)> print>(sorted_people)>

>

>

出力

[Person(name='Alice', age=18), Person(name='John', age=25), Person(name='Bob', age=30)]>

Python のsorted() 関数の定義、構文、例について説明しました。これが「Python でソート関数を使用する方法」に関する質問の答えになったことを願っています。

sort() 関数は sort() リスト メソッドと異なるため、混同しないでください。

この記事が Python のsorted()関数を理解するのに役立つことを願っています。