3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【python3】辞書のkeyをソートして辞書のkeyを昇順に表示する

Last updated at Posted at 2024-11-04

はじめに

辞書のkeyを昇順で並び替える問題に取り込みました

問題

n人の野球選手の名前が背番号と一緒に入力されます。
各選手の背番号と名前を、背番号の数字の小さい順に並び替えて出力してください。
ただし、同じ背番号の選手は存在しないものとします。

という問題です。

実装したコード

実装したコードは下記の通りです

# 数値入力
n = int(input())
# Dictionaryの定義
dict1 = {}
# listの定義
list1 = []
# 標準入力からdict1にkeyとvalueを入れる
for i in range(n):
    key,value = input().split(' ')
    dict1[key] = value
# dict1のkeyをlist1に入れる
for number in dict1.keys():
    list1.append(int(number))
# list1を昇順に並び替える
list1.sort()

print("----結果----")
# listの要素を取り出し、dict1のkeyと合わせて出力
for num in list1:
    print(str(num) + " " + dict1[str(num)] )

実行結果

実行結果は下記の通りです

gazou1.jpg

追記

辞書を使わない方法は下記です

n = int(input())
b = [list(map(str, input().split())) for l in range(n)]

b.sort(key = lambda pair : int(pair[0]))
print("----結果----")
for i in range(n):
    print(b[i][0], b[i][1])

最後に

プログラミングコンテスト課題の問題に挑戦しました。

3
3
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
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?