Notebook

これは日々の作業を通して学んだことや毎日の生活で気づいたことをを記録しておく備忘録である。

HTML ファイル生成日時: 2024/12/21 11:44:57.596 (台灣標準時)

Python の dictionary を値でソートする方法

Python の dictionary をキーでソートすることは簡単でござる。以下のよう にすればよいでござる。


#!/usr/pkg/bin/python3.9

#
# Time-stamp: <2023/06/23 18:44:27 (CST) daisuke>
#

# a dictionary containing information of magnitude of stars and planets
star_mag = {
    'Sirius':           -1.46,
    'Canopus' :         -0.74,
    'Rigil Kentaurus':  -0.27,
    'Arcturus':         -0.05,
    'Vega':             +0.03,
    'Capella':          +0.08,
    'Rigel':            +0.13,
    'Procyon':          +0.34,
    'Sun':             -26.78,
    'Mercury':          -2.48,
    'Venus':            -4.92,
    'Mars':             -2.94,
    'Jupiter':          -2.94,
    'Saturn':           -0.55,
}

# sorting dictionary by keys
for key in sorted (star_mag):
    print (f'{key:16s} {star_mag[key]:6.2f}')

実行結果は以下の通り。


% ./test_sort_dictionary_00.py
Arcturus          -0.05
Canopus           -0.74
Capella            0.08
Jupiter           -2.94
Mars              -2.94
Mercury           -2.48
Procyon            0.34
Rigel              0.13
Rigil Kentaurus   -0.27
Saturn            -0.55
Sirius            -1.46
Sun              -26.78
Vega               0.03
Venus             -4.92

Python の dictionary を値でソートするには、以下のようにすればよいでご ざる。


#!/usr/pkg/bin/python3.9

#
# Time-stamp: <2023/06/23 18:46:50 (CST) daisuke>
#

# a dictionary containing information of magnitude of stars and planets
star_mag = {
    'Sirius':           -1.46,
    'Canopus' :         -0.74,
    'Rigil Kentaurus':  -0.27,
    'Arcturus':         -0.05,
    'Vega':             +0.03,
    'Capella':          +0.08,
    'Rigel':            +0.13,
    'Procyon':          +0.34,
    'Sun':             -26.78,
    'Mercury':          -2.48,
    'Venus':            -4.92,
    'Mars':             -2.94,
    'Jupiter':          -2.94,
    'Saturn':           -0.55,
}

# sorting dictionary by values
for key, value in sorted (star_mag.items (), key=lambda x: x[1]):
    print (f'{key:16s} {value:6.2f}')

実行結果は、以下の通りでござる。


% ./test_sort_dictionary_01.py
Sun              -26.78
Venus             -4.92
Mars              -2.94
Jupiter           -2.94
Mercury           -2.48
Sirius            -1.46
Canopus           -0.74
Saturn            -0.55
Rigil Kentaurus   -0.27
Arcturus          -0.05
Vega               0.03
Capella            0.08
Rigel              0.13
Procyon            0.34

Python の dictionary を値を使って降順にソートするには、以下のようにす ればよいでござる。


#!/usr/pkg/bin/python3.9

#
# Time-stamp: <2023/06/23 18:46:53 (CST) daisuke>
#

# a dictionary containing information of magnitude of stars and planets
star_mag = {
    'Sirius':           -1.46,
    'Canopus' :         -0.74,
    'Rigil Kentaurus':  -0.27,
    'Arcturus':         -0.05,
    'Vega':             +0.03,
    'Capella':          +0.08,
    'Rigel':            +0.13,
    'Procyon':          +0.34,
    'Sun':             -26.78,
    'Mercury':          -2.48,
    'Venus':            -4.92,
    'Mars':             -2.94,
    'Jupiter':          -2.94,
    'Saturn':           -0.55,
}

# sorting dictionary by values in descending order
for key, value in sorted (star_mag.items (), key=lambda x: x[1], reverse=True):
    print (f'{key:16s} {value:6.2f}')

実行結果は、以下の通りでござる。


% ./test_sort_dictionary_02.py
Procyon            0.34
Rigel              0.13
Capella            0.08
Vega               0.03
Arcturus          -0.05
Rigil Kentaurus   -0.27
Saturn            -0.55
Canopus           -0.74
Sirius            -1.46
Mercury           -2.48
Mars              -2.94
Jupiter           -2.94
Venus             -4.92
Sun              -26.78



Frequently accessed files

  1. Computer___Python/20220518_0.html
  2. Computer___Network/20230726_00.html
  3. Misc___Taiwan/20240207_00.html
  4. Computer___Network/20230516_00.html
  5. Computer___FreeBSD/20220621_0.html
  6. Computer___Python/20220715_0.html
  7. Computer___Network/20230508_00.html
  8. Food___Taiwan/20220429_0.html
  9. Computer___Network/20240130_00.html
  10. Computer___NetBSD/20220817_3.html
  11. Computer___Python/20220410_0.html
  12. Computer___Network/20240416_00.html
  13. Computer___NetBSD/20230119_00.html
  14. Computer___Debian/20210223_1.html
  15. Computer___Python/20221013_0.html
  16. Computer___Python/20210124_0.html
  17. Computer___NetBSD/20220428_0.html
  18. Computer___NetBSD/20220818_1.html
  19. Computer___NetBSD/20240101_02.html
  20. Science___Math/20220420_0.html
  21. Computer___Python/20240101_00.html
  22. Computer___NetBSD/20220808_0.html
  23. Computer___TeX/20230503_00.html
  24. Science___Astronomy/20220503_0.html
  25. Computer___NetBSD/20230515_00.html
  26. Computer___Network/20220413_1.html
  27. Computer___NetBSD/20210127_0.html
  28. Computer___TeX/20231107_00.html
  29. Computer___Python/20220816_1.html
  30. Computer___Python/20230717_01.html


HTML file generated by Kinoshita Daisuke.