Quantcast
Channel: dictionaryタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 99

sortした辞書型を、辞書型に戻す方法

$
0
0

はじめに

辞書型をソートした場合としなかった場合で関数の戻り値の型が変わってしまうという問題に当たったのでその解決策を書いておきます。

解決策

Python 3.6.1

dic_sort.py
#PEP8に準拠
dic = {'A': 50, 'B': 20, 'C': 80, 'D': 10, 'E': 100}
list = sorted(dic.items(), key=lambda x: x[1], reverse=True)
dic.clear()
dic.update(list)

print(list)
print(dic)

結果

terminal
[('E', 100), ('C', 80), ('A', 50), ('B', 20), ('D', 10)]
{'E': 100, 'C': 80, 'A': 50, 'B': 20, 'D': 10}

解説

updateメソッドは(key,value)のリストを引数にできるので、dicをソートした戻り値が入っている変数listをclearされたdicに追加することでソートされた順のまま辞書型に戻すことができました。
注意点としては、(key,value)のリストを追加してもソートされた順が反映されるわけではありませんので、clearを行う必要があります。

参考にさせていただいたサイト

note.nkmk.me https://note.nkmk.me/python-dict-add-update/


Viewing all articles
Browse latest Browse all 99

Trending Articles