皆さまいつもお世話になっております。
あるグループ内での社員それぞれの昼食で食べた定食メニューの管理をしたいです。
・1 行目に グループの人数 N が整数で与えられます。
・2 行目に、半角英小文字で構成される文字列が N 個スペース区切りで与えられます。それぞれの文字列は、グループの人の名前です。
・3 行目に、社員たちが昼食で食べた、定食の合計の数 が整数 M で与えられます。
・4 行目から続く M 行には、購入した人の名前を表す半角英小文字で構成される文字列 と
彼らが食べた定食の価格 がこの順にスペース区切りで与えられます。
・入力は合計で M + 3 行となり、入力値最終行の末尾に改行が1つ入ります。
・全ての社員に対して、定食購入費が同一である別の社員は存在しない
入力例1
2
ando noda
2
noda 1000
ando 500
出力例1
noda
ando
入力例2
3
A B C
4
A 1000
B 1000
B 2000
C 2000
出力例2
B
C
A
コード n = int(input()) name_lst = list(map(str,input().split())) m = int(input()) data = [list(map(str,input().split())) for _ in range(m)] dic = {} for name, amount in data: dic[name] = int(amount) dic_trans = sorted(dic, key=lambda x:x[1], reverse=True) for x in dic_trans: print(x)
#質問
入力例2 だと、同じ人物が二回別の価格の定食を購入している。
これを辞書で表示すると以下のようになる
dic = {A:1000, B:1000, B:2000, C:2000}
Bを一つにまとめて、辞書を作りなおしたいのですが、方法がわかりません。
アドバイス等頂きたいです。宜しくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/26 02:49