先日は元々数が決まってる英小文字や数字だったけど、今回は出力されたものの出現率を調べるという問題。
ひとまず前回学んだ辞書リスト?(言い方)に入れることはできたけど
同じ単語だったら1増やすってのをどうすればいいんだろうか
おそらく今までのパターンからしてこの内包表記の中でなんかすればいいはずだ
N = int(input())
A = {input(): A[] for x in range(N)}
B =
結果は
{'bcd': 0, 'abc': 0}
まあ予想通りではある。
ここからいろいろやってみたが、
全く進まず30分経過したのでギブ。
ここまでやった。
辞書をupdateすればいいかなと思ったけど
結局できず。
N = int(input())
count = 0
A ={}
for x in range(N):
target = input()
if input() in A:
A.update(target=0)
else:
print(A)
A[target]+=1
print(A)
答えを見てみた。
どうやら辞書への追加方法がまちがってたようだ。
途中までは考え方はあってたようだ。。。
updateは使わなくてよかったらしい。
で、新しく覚えた方法としては辞書の並べ替え方、
辞書からforで各要素を出力する方法がわかった。
N = int(input())
count = {}
for _ in range(N):
s = input()
if s not in count:
count[s] = 1
else:
count[s] += 1
for word, times in sorted(count.items()):
print(word, times)
そして自分の書いたのを修正したのが下記。
N = int(input())
A ={}
for x in range(N):
target = input()
if target not in A:
A[target] = 1
else:
A[target] += 1
for word,result in sorted(A.items()):
print(word, result)