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

爱喝马黛茶的安东尼
リリース: 2019-08-10 15:43:08
オリジナル
3767 人が閲覧しました

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

Python で辞書を並べ替えるにはどうすればよいですか?

辞書を並べ替えますか?これは実は誤った命題です Python 辞書の定義を考えてみましょう --- 辞書自体はデフォルトではキーの文字順に出力・表示されます --- 実際に使っている辞書と同じように、 の順に並んでいますABCD 文字、そして本質的にそれぞれの順序関係はなく、ハッシュ テーブル構造です。

しかし、実際のアプリケーションでは、この種の並べ替えの「要件」があります。値の値に従って出力を「並べ替え」たり、他の奇妙な順序で出力したりする必要があるだけです。辞書をリストまたはタプルに変換し、辞書内のキー値の各ペアを 2 桁のリストまたはリスト内のサブタプルに変換して出力すると、目的を達成できます。 #例:

d1 = {'a':1,'c':4,'b':2,'d':3}
d2 = {2:1,3:4,4:2,1:5,5:3}
d3 = {'01': {'name': '电脑', 'price': 3000}, '02': {'name': '鼠标', 'price': 50}, '03': {'name': '洗发水',
'price': 30}, '04': {'name': '微波炉', 'price': 998}, '05': {'name': '手机', 'price': 1500}}
ログイン後にコピー

関連推奨: 「

Python ビデオ チュートリアル

要件 1: 辞書のキー/値に従って出力を並べ替える

方法 1:sorted 関数を使用する

sorted(d1.items(),key = lambda x:x[0],reverse = True)  # reverse = True:是递减顺序输出,不写默认是升序输出
key = lambda x:x[0]表示在d1.items()的输出内容中的第一列作为排序依据,如果是按照value排序则改成x[1]即可。
ログイン後にコピー
d1/d2 辞書は比較的シンプルで理解しやすいですが、d3 などのネストされた辞書を並べ替える方法を見てみましょう:

sorted(d.items(),key=lambda x:x[1]['price'])
ログイン後にコピー

方法 2: 演算子を使用するモデリング モジュール

import operator
sorted(d1.items(),key = operator.itemgetter(1))
ログイン後にコピー
このモジュールの現在の実験は、d3 などのデータ構造では成功していません。

以上がPythonで辞書を並べ替える方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート