辞書をつかった問題だと直感してたのだけど、自分自身ちょっと忘れてたので前に書いた記事にコメントくれてたのを思い出したので下記で復習(ありがとうございます)
辞書を作るにはdict。これ勉強。
これを思い出す前に{}の内包表記でなんとかしようとしてました。。。
というわけで、
N,K = map(int,input().split())
A = dict(input().split() for _ in range(N))
#次の連想配列のために出力
#{'1': 'Sin', '2': 'Sakura', '3': 'Kayo', '4': 'Yui'}
for _ in range(K):
print(A[input()])
こうですね。
しかしですね、今回は辞書、ではなく連想配列。なので、
ちょっと違うんですね。。。
あれ、連想配列って辞書だよね?たしかエクセルでマクロやってたときもそう学んだはず。。。。
でも解答見る限り、タプルと集合?ですね。。。
出力がちょっと上のと違います。
なのでこの場合出力には工夫が必要ですね。
#違う書き方
roster = {(x, y) for x, y in [input().split() for _ in range(N)]}
#でもちょっと違う出力になる
#{('3', 'Kayo'), ('4', 'Yui'), ('1', 'Sin'), ('2', 'Sakura')}
ちょっと私流で書き直してみます
でもあんまりかわらんな。
N,K = map(int,input().split())
A = {(x, y) for x, y in [input().split() for _ in range(N)]}
for _ in range(K):
q = input()
for num, ID in A:
if num == q:
print(ID)
できれば次までいきたかったけど、時間なのでこれまで。