Python では、辞書は組み込みのデータ型であり、順序付けされていない記憶構造であり、各要素はキーと値のペアです。
例: dict = {'username': 'xiaoming', 'password': '123456'}、「username」と「password」はキーです。 ' Xiaoming' と '123456' は値です。d[key] を通じて対応する値 value への参照を取得できますが、value を通じてキーを取得することはできません。
辞書については、次の点を知っておく必要があります:
a. 辞書のキーは大文字と小文字が区別されます;
b. 辞書重複キーは使用できません;
c. 辞書には順序付けがなく、要素の順序の概念がありません。順序のペアを単純に並べただけです。
辞書はキー/値でソートされます:
辞書自体には順序の概念はありませんが、常にある時点でソートされます。多くの場合、辞書の並べ替えが必要になります。
方法 1: キー値で並べ替えます。
def sortedDictValues1(adict): items = adict.items() print "items:",items items.sort() return [value for key, value in items] adict = {"a1":11,"b1":2,"c1":30,"e1":20,"d1":4} print sortedDictValues1(adict) items: [('a1', 11), ('c1', 30), ('e1', 20), ('b1', 2), ('d1', 4)] [11, 2, 30, 4, 20]
ディクショナリの items メソッドはタプルのリストを返します。各タプルには項目のペア (キーと対応する値) が含まれます。タプルのリストは、sort() メソッドを使用して並べ替えることができます。
方法 2: キー値で並べ替える
def sortedDictValues2(adict): keys = adict.keys() keys.sort() return [dict[key] for key in keys]
辞書オブジェクトのkeys()メソッドは、辞書内のすべてのキー値のリストを返します。順番はランダムです。並べ替える必要がある場合は、返されたキー値リストに対して sort() メソッドを使用するだけです。これはメソッド 1 よりも高速です。
方法 3: キー値で並べ替える
def sortedDictValues3(adict): keys = adict.keys() keys.sort() return map(adict.get, keys)
マッピング メソッドを使用して、最後のステップをより効率的に実行します
方法 4: 1 つline ステートメント
[(k,di[k]) for k in sorted(di.keys())]
方法 5: 値による並べ替え
def sort_by_value(d): items=d.items() backitems=[[v[1],v[0]] for v in items] backitems.sort() return [ backitems[i][1] for i in range(0,len(backitems))]
最初に項目のキーと値の位置をリストに変換し、次にそれぞれに従ってlist 要素の最初の値、つまり元の値を並べ替えます。
方法 6: 値で並べ替えます
[ v for v in sorted(di.values())]
方法 7:ソートされた関数キー=パラメータのソート:
キーでソート
print sorted(dict1.items(), key=lambda d: d[0])
値でソート
print sorted(dict1.items(), key=lambda d: d[1]) python内置sorted函数的帮助文档: sorted(…) sorted(iterable, cmp=None, key=None, reverse=False) –> new sorted list
辞書をソートする方法、実際、彼らの中心的なアイデアは同じ、つまり辞書 内の要素がリストに分割され、そのリストがソートされることで、間接的に辞書がソートされます。この「要素」は、キー、値、または項目です。
メソッド 8: PYTHON の COLLECTION シリーズ - 順序付き辞書 (ORDEREDDICT)
orderdDict は、辞書型の補足であり、辞書要素が追加される順序を保持します
りー以上がPythonの辞書はソートできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。