1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

クエリシリーズ > 連想配列

Last updated at Posted at 2024-03-21

辞書をつかった問題だと直感してたのだけど、自分自身ちょっと忘れてたので前に書いた記事にコメントくれてたのを思い出したので下記で復習(ありがとうございます)

辞書を作るには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)

できれば次までいきたかったけど、時間なのでこれまで。

1
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?