ホームページ  >  記事  >  バックエンド開発  >  Pythonコード記述で辞書ソートを実装する方法

Pythonコード記述で辞書ソートを実装する方法

伊谢尔伦
伊谢尔伦オリジナル
2017-06-28 13:44:371982ブラウズ

この記事では、主に Python辞書ソートの実装方法を紹介し、Python 辞書ソートの関連スキルを例とともに分析します。必要な友人はそれを参照してください

この記事では、Python 辞書ソートの方法を例とともに分析します。皆さんの参考に共有してください。詳細は次のとおりです:

1. 準備知識:

Python では、辞書は組み込みの データ型 であり、各要素はキーと値のペアです。 : dict = { 'username': 'password', 'database': 'master'}、'username' と 'database' はキー、'password' と 'master' は値です。 value の対応する値は次のとおりです。 d[key]
Quote を通じて取得されますが、キーは value を通じて取得できません。

辞書については、次の点を理解する必要があります

:

a. 辞書のキーは大文字と小文字を区別します。

b. 辞書内に重複したキーは存在しません。要素順序の概念は、順序ペアの単純な配置にすぎません。

2. 辞書のソートの実装:

辞書自体には順序の概念がないことは前に説明しましたが、それは常にある時点で発生しますが、多くの場合、辞書をソートする必要があります。以下に説明します:

方法 1: 最も単純な方法では、要素 (キーと値のペア) を配置し、値を取り出します。ディクショナリの items メソッドはタプルのリストを返します。各タプルには項目のペア (キーと対応する値) が含まれます。このとき、ソートにはsort()メソッドを使用できます。

def sortedDictValues1(adict):
  items = adict.items()
  items.sort()
  return [value for key, value in items]

方法 2: キー配置方法を使用して値を選択します。方法 1 よりも高速です。辞書

オブジェクト

のkeys()メソッドは、辞書内のすべてのキー値のリストをランダムな順序で返します。並べ替える必要がある場合は、返されたキー値リストに対して sort() メソッドを使用するだけです。

def sortedDictValues1(adict):
  keys = adict.keys()
  keys.sort()
  return [adict[key] for key in keys]
方法 3: マッピング メソッドを使用して最後のステップをより効率的に実行する

def sortedDictValues1(adict):
  keys = adict.keys()
  keys.sort()
  return map(adict.get,keys)

方法 4: 辞書をキーでソートし、それをタプル リストの形式で返し、ラムダ関数を使用します

sorted(iterable[ , cmp [, key[, reverse]]]

cmp と key は通常ラムダを使用します
例:

>>> d={"ok":1,"no":2}#对字典按键排序,用元组列表的形式返回
>>> sorted(d.items, key=lambda d:d[0])
[('no', 2), ('ok', 1)]

辞書を値でソートし、タプルリストの形式で返します

>>> sorted(d.items, key=lambda d:d[1])
[('ok', 1), ('no', 2)]

ソートの方法はたくさんありますが、辞書要素については、こちらを参照してください。包括的な概要はありませんが、プログラムの効率性に対する高い要件がない場合は、好きなものを選択してください

以上がPythonコード記述で辞書ソートを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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