[PYTHON] [At Coder] ABC128B --Guidebook

C'est un problème à étudier ** sort **.

Puisque le nom de la ville et les points sont enregistrés, s'agit-il d'un dictionnaire? → Comme il existe plusieurs villes identiques, le dictionnaire ne peut pas être utilisé.

Le numéro du restaurant est-il un index sur la liste? → Il sera trié, il est donc préférable de mettre le numéro du restaurant dans la liste.

C'est pourquoi je vais mettre le numéro, le nom de la ville et le score dans la liste.

Comment triez-vous les noms de villes et les points? →l.sort(key=lambda x:x[1],x[2])

Kimo est un endroit où ** les noms de villes sont classés par ordre alphabétique (ordre croissant), mais les scores sont par ordre décroissant **.

Le commentaire disait: ** Multipliez le score par -1 **, alors j'ai pensé que c'était vrai.

Si vous voulez que la 1ère touche soit dans l'ordre croissant et la 2ème touche dans l'ordre décroissant J'ai trouvé un article qui dit ** Si vous ajoutez à la clé, ce sera dans l'ordre décroissant ** J'ai essayé d'utiliser cette méthode.

Trier par plusieurs clés

n=int(input())
l=[]

for i in range(n):
    s,p=input().split()
    l.append([i+1,s,int(p)])

l.sort(key=lambda x:(x[1],-x[2]))

for i in l:
    print(i[0])

Recommended Posts

[At Coder] ABC128B --Guidebook
Chez Coder (08/09/2020)
Remplir au codeur
Au Coder # 1 à minuit
[Python] ABC133B (problème du triangle supérieur droit) [At Coder]
[At Coder] Triplés Acing C-XYZ
[Python] Modèle Pro compétitif [Chez Coder]
[At Coder] ABC085C - La réponse Python d'Otoshidama