kiri___
@kiri___

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

superchat[name][0]の[0]について教えてほしい。

解決したいこと

最初にリンクを貼らせていただきます。
https://paiza.jp/works/mondai/query_primer/query_primer__vtuber/edit?language_uid=python3&t=3579503910e31b066609db989ae5fcd2

この上のリンクはpaizaのレベルアップ問題集の内容です。
その回答コードが見られるのですが、その中で
superchat[name] = (superchat[name][0] + money, name)
の部分のsuperchat[name][0]について、なぜ[0]のインデックスが必要なのか分かりません。その部分をご説明頂きたいです。
また、上記の箇所が入力例でいうところのどの部分を指しているのかが理解できなかったので、教えて頂きたいです。

発生している問題・エラー

エラーメッセージはありません。

該当するソースコード

N = int(input())

superchat = {}
member = set()
for _ in range(N):
    event = input().split()

    name = event[0]
    verb = event[1]
    if verb == "give":
        money = int(event[2])
        if name not in superchat:
            superchat[name] = (money, name)
        else:
            superchat[name] = (superchat[name][0] + money, name)
    else:
        member.add(name)

for name, money in sorted(superchat.items(), key=lambda x: x[1], reverse=True):
    print(name)
for name in sorted(member):
    print(name)

自分で試したこと

一度、superchat[name]で回答コードをテストしてみました。一つ通りましたが、他の3つのテストケースでエラーが出ました。

0

1Answer

Comments

  1. @kiri___

    Questioner

    回答ありがとうございます。タプルのときのお話は理解できたのですが、
    superchat[name] = (superchat[name][0] + money, name)
    のように、なぜタプルで辞書に追加する必要があるのか教えて頂きたいです。

Your answer might help someone💌