Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで辞書を並べ替える方法は?


ディクショナリは、キーと値のペアで構成されるデータ構造です。 2つの基準を使用して辞書を並べ替えることができます-

キーで並べ替え −辞書はキーの昇順でソートされます。値は処理されません。

値で並べ替え −辞書は値の昇順でソートされます。

方法1-辞書をキーで並べ替える

このアプローチでは、辞書はキーの昇順で並べ替えられます。

入力:

{2:90, 1: 100, 8: 3, 5: 67, 3: 5}

出力:

{1:100, 2:90, 3:5, 5:67, 8:3}

上に示したように、辞書がキーに従ってソートされていることがわかります。

dic={2:90, 1: 100, 8: 3, 5: 67, 3: 5}
dic2={}
for i in sorted(dic):
   dic2[i]=dic[i]
print(dic2)

出力

{1:100, 2:90, 3:5, 5:67, 8:3}

コード行ごとの説明

  • ソートする辞書を宣言する

  • ソートされたキーと値のペアが追加される空の辞書を宣言します

  • ソートされた(dic)には、ソートされた順序でdicのすべてのキーがあります。キーのみがあり、キーと値のペアはありません。 sort(dic)には[1,2,3,5,8]

    があります
  • ソートされた順序でキーごとに、キーと対応する値をdic2に追加します。

  • dic2には、キーの並べ替えられた順序ですべてのキーと値のペアがあります

方法2-辞書を値で並べ替える

このアプローチでは、辞書は値の昇順でソートされます。

入力:

{2:90, 1: 100, 8: 3, 5: 67, 3: 5}

出力:

{8:3, 3:5 ,5:67 , 2:90, 1:100}

上に示したように、辞書はその値に従ってソートされていることがわかります。

  • sorted()メソッドとitems()メソッドを一緒に使用して、辞書を値で並べ替えます。

  • items()は、辞書の項目または値を取得するために使用されます。

  • key =lambda x:x [1]は、ラムダ関数を使用する並べ替えメカニズムです。

  • これにより、キーと値のペアが得られます。これらのペアは、dict()を使用して辞書に変換されます。

dic={2:90, 1: 100, 8: 3, 5: 67, 3: 5}
dic2=dict(sorted(dic.items(),key= lambda x:x[1]))
print(dic2)

出力

{8:3, 3:5 ,5:67 , 2:90, 1:100}

  1. Pythonで文字列の文字をアルファベット順に並べ替える方法は?

    文字列内の文字をアルファベット順に並べ替えるには、文字の並べ替えられたリストを返す並べ替え関数を使用する必要があります。この関数を結合して文字列を取得できます。たとえば、 >>> s = "helloworld" >>> ''.join(sorted(s)) 'dehllloorw' 一意の文字のみを並べ替える場合は、セットを使用して結果を取得できます。たとえば、 >>> s = "helloworld" >>> ''.join(so

  2. Pythonで文字列のリストを並べ替える方法は?

    リストを適切に並べ替える、つまりリスト自体を並べ替え、そのリスト自体の順序を変更するには、文字列のリストでsort()を使用できます。たとえば、 >>> a = ["Hello", "My", "Followers"] >>> a.sort() >>> print a ['Followers', 'Hello', 'My'] 元のリストをそのまま維持し、代わりにソートされた要素の新しいリストが必要な場合は、sorted(list)を