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

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

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

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

Q&A

解決済

3回答

592閲覧

pythonの辞書のkeyと値を取得して、短いコードで改行したい

usagiwhip

総合スコア122

Python

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

0グッド

0クリップ

投稿2022/03/19 03:11

編集2022/03/19 03:12

どうぞよろしくおねがいします
以下のような辞書でfor文を付けばそれぞれ取り出して整形できるのは理解しているのですが、それ以外になにか カンマ単位で改行できる方法はあるのでしょうか?

辞書

{'2022-03-19': '今日', '12_18時:': '30%', '18~24時:': '30%', '2022-03-20': '明日', '2022-03-21': '明後日', '0~6時:': '30%', '6~12時:': '30%'}

期待する文字列

2022-03-19 今日 12_18時: 30% 18~24時: 30% 2022-03-20 明日 2022-03-21 明後日 0~6時: 30% 6~12時: 30%

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

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

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

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

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

guest

回答3

0

ベストアンサー

python

1>>> dic = {'2022-03-19': '今日', '12_18時:': '30%', '18~24時:': '30%', '2022-03-20': '明日', '2022-03-21': '明後日', '0~6時:': '30%', '6~12時:': '30%'} 2>>> print('\n'.join(map(' '.join, dic.items()))) 32022-03-19 今日 412_18時: 30% 518~24: 30% 62022-03-20 明日 72022-03-21 明後日 80~6: 30% 96~12: 30%

投稿2022/03/19 03:21

melian

総合スコア21118

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

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

usagiwhip

2022/03/19 03:27

ありがとうございます!! 初級テキストでちらっと join map の記述があったのを思い出しました。 深堀りして、実践して使えるようにします いつもありがとうございます
guest

0

複数の方法で書いてみました。

python3

1data = { 2 '2022-03-19': '今日', 3 '12_18時:': '30%', 4 '18~24時:': '30%', 5 '2022-03-20': '明日', 6 '2022-03-21': '明後日', 7 '0~6時:': '30%', 8 '6~12時:': '30%' 9} 10print(data) 11 12print("------") 13for k, v in data.items(): 14 print(k, v) 15 16print("------") 17for k in data.keys(): 18 print(k, data[k]) 19 20print("------") 21[print(k, v) for k, v in data.items()] 22 23print("------") 24[print(k, data[k]) for k in data.keys()] 25 26print("------") 27list(map(lambda x: print(x[0], x[1]), data.items())) 28 29print("------") 30for x in str(data)[1:-1].split(","): 31 print(x.replace("'", "").replace(": ", " ").strip())

投稿2022/03/19 06:38

編集2022/03/19 06:52
katoy

総合スコア22328

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

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

0

ちょっと質問を上手く理解できてなく、見当違いの回答かもしれません。

それ以外になにか カンマ単位で改行できる方法はあるのでしょうか?

期待している文字列みたいにコードを書いているときに並べるようにしたい、という話でしたら
下例のような感じでdict型は改行できます。

dic = { '2022-03-19': '今日', '12_18時:': '30%', '18~24時:': '30%', '2022-03-20': '明日', '2022-03-21': '明後日', '0~6時:': '30%', '6~12時:': '30%' }

他の型でカンマ区切り出来るものを知りたいという話でしたら、list,tuple,setなどがあります。
詳細は調べてみてください。

期待する文字列のように出力したいという話でしたら
for key,value dict型の変数.items():
でキーと値を取り出してprintでくっつけて表示するやり方がベターかなと思います。
for文使わないとなると、ちょっとすぐには思いつかないですね…

dic = { '2022-03-19': '今日', '12_18時:': '30%', '18~24時:': '30%', '2022-03-20': '明日', '2022-03-21': '明後日', '0~6時:': '30%', '6~12時:': '30%' } for key, value in dic.items(): print(key, value)

出力結果

$ python test.py 2022-03-19 今日 12_18時: 30% 18~24時: 30% 2022-03-20 明日 2022-03-21 明後日 0~6時: 30% 6~12時: 30%

投稿2022/03/19 03:41

cacapon

総合スコア21

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.31%

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

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

質問する

関連した質問