質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

1540閲覧

Pythonの辞書型を出力(print)するときに、コロンで揃えたい

yu_2_8_2

総合スコア34

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/06/15 15:14

[ {'0615': 0.8877468109130859}, {'WK-0618': 0.9906144142150879}, {'2021Q2': 0.8624510765075684}, {'0616': 0.890734821612759}, {'WK-0625': 0.8719199829525739}, {'WK-0702': 0.8746244632243637}, {'WK-0709': 0.872355069183823}, {'2021Q3': 0.9588469324788526}, {'2021Q4': 0.9952781684637919} ]

Pythonで辞書型をprintする際に、コロン(:)で揃えて見やすく出力したいです。
richを使ってみたのですが、今ひとつうまくいきません。
どなたかいいアイデアをお持ちの方、ご教授いただけると幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

Python

1d = { 2 '0615': 0.8877468109130859, 3 'WK-0618': 0.9906144142150879, 4 '2021Q2': 0.8624510765075684, 5 '0616': 0.890734821612759, 6 'WK-0625': 0.8719199829525739, 7 'WK-0702': 0.8746244632243637, 8 'WK-0709': 0.872355069183823, 9 '2021Q3': 0.9588469324788526, 10 '2021Q4': 0.9952781684637919 11} 12n = max([len(k) for k in d.keys()]) 13for k, v in d.items(): print(f'{k:{n}} : {v}')

追記
質問にあるように、与えられるのが、辞書ではなく要素が一つの辞書のリストなら、

Python

1dl = [ 2 {'0615': 0.8877468109130859}, 3 {'WK-0618': 0.9906144142150879}, 4 {'2021Q2': 0.8624510765075684}, 5 {'0616': 0.890734821612759}, 6 {'WK-0625': 0.8719199829525739}, 7 {'WK-0702': 0.8746244632243637}, 8 {'WK-0709': 0.872355069183823}, 9 {'2021Q3': 0.9588469324788526}, 10 {'2021Q4': 0.9952781684637919} 11] 12n = max([len(next(iter(d))) for d in dl]) 13for d in dl: 14 k = next(iter(d)) 15 print(f'{k:{n}} : {d[k]}')

投稿2021/06/15 17:18

編集2021/06/15 23:50
kazuma-s

総合スコア8224

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Python

1d={ 2 '0615': 0.8877468109130859, 3 'WK-0618': 0.9906144142150879, 4 '2021Q2': 0.8624510765075684, 5 '0616': 0.890734821612759, 6 'WK-0625': 0.8719199829525739, 7 'WK-0702': 0.8746244632243637, 8 'WK-0709': 0.872355069183823, 9 '2021Q3': 0.9588469324788526, 10 '2021Q4': 0.9952781684637919 11} 12maxLen=0 13for k in d.keys(): 14 maxLen=max(len(k),maxLen) 15f='{0:<'+str(maxLen)+'} : {1}' 16for k,v in d.items(): 17 print(f.format(k,v))

とか

投稿2021/06/15 16:10

modieu

総合スコア282

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問