[PYTHON] [Bei Coder] ABC128B - Handbuch

Dies ist ein Problem zu studieren ** sort **.

Handelt es sich um ein Wörterbuch, da der Name und die Punkte der Stadt gespeichert sind? → Da es mehrere gleiche Städte gibt, kann das Wörterbuch nicht verwendet werden.

Ist die Restaurantnummer ein Index auf der Liste? → Es wird sortiert, daher ist es besser, die Restaurantnummer in die Liste aufzunehmen.

Deshalb werde ich die Nummer, den Namen der Stadt und die Punktzahl in die Liste aufnehmen.

Wie sortieren Sie die Namen und Punkte der Stadt? →l.sort(key=lambda x:x[1],x[2])

Kimo ist ein Ort, an dem ** Städtenamen in alphabetischer Reihenfolge (aufsteigende Reihenfolge), die Punktzahlen jedoch in absteigender Reihenfolge ** aufgeführt sind.

Der Kommentar sagte: ** Multipliziere die Punktzahl mit -1 **, also dachte ich, dass es wahr ist.

Wenn Sie möchten, dass der 1. Schlüssel in aufsteigender Reihenfolge und der 2. Schlüssel in absteigender Reihenfolge angezeigt wird Ich habe einen Artikel gefunden, der besagt: ** Wenn Sie dem Schlüssel hinzufügen, wird er in absteigender Reihenfolge angezeigt ** Ich habe versucht, diese Methode zu verwenden.

Nach mehreren Schlüsseln sortieren

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

[Bei Coder] ABC128B - Handbuch
Bei Coder (2020/09/08)
Füllen Sie bei Coder
Bei Coder # 1 um Mitternacht
[Python] ABC133B (Problem mit dem oberen rechten Dreieck) [At Coder]
[Bei Coder] Acing C-XYZ Triplets
[Python] Competitive Pro-Vorlage [At Coder]
[At Coder] ABC085C - Otoshidamas Python-Antwort