Beherrschen Sie den Listentyp und den Taple-Typ
Sortieren Sie die Liste Der Listentyp von Python erleichtert das Sortieren durch Ändern der Reihenfolge der Elemente. Sie können die Elemente in aufsteigender Reihenfolge sortieren, indem Sie die sort () -Methode für eine Liste aufrufen, die Zahlen als Elemente enthält. Da der Listentyp ein veränderbarer Datentyp ist, wird das Listenobjekt selbst als Ergebnis des Aufrufs der sort () -Methode neu geschrieben.
[In aufsteigender Reihenfolge sortieren] monk_fish_team = [158, 157, 163, 157, 145] monk_fish_team.sort() monk_fish_team ↓ 145, 157, 157, 158, 163
Das Standardverhalten beim Aufrufen der sort () -Methode ohne Argumente besteht darin, die Zahlen in aufsteigender Reihenfolge zu sortieren. Dies liegt daran, dass Programme häufig eine solche Verarbeitung durchführen. Sie können die Sortiermethode jedoch ändern, indem Sie ein Argument angeben. Wenn Sie beispielsweise das Schlüsselwortargument reverse haben und True übergeben, können Sie die Reihenfolge in absteigender Reihenfolge sortieren.
[In absteigender Reihenfolge sortieren] monk_fish_team = [158, 157, 163, 157, 145] monk_fish_team.sort(reverse = True) monk_fish_team ↓ 163, 158, 157, 157, 145
Passen Sie die Sortierreihenfolge an Das Sortieren ist nichts anderes als das Vergleichen der Größe und Überlegenheit von Daten und das Entscheiden über die Reihenfolge. Die sort () -Methode basiert auf etwas anderem als einer einfachen Zahl, indem ein separates Kriterium für die Bestimmung der Reihenfolge angegeben wird. Sie können die Sortierreihenfolge steuern.
[Sort () -Methode] S.sort(Key, reverse)
Im Gegensatz zu anderen Methoden erfordert das Argument der sort () -Methode die Schlüsselwortspezifikation des Arguments. Sie können die Sortierreihenfolge anpassen, indem Sie eine Funktion übergeben, die die Kriterien zur Bestimmung der Reihenfolge an Key zurückgibt. Wie bereits erwähnt, wird das umgekehrte Argument als True angegeben, wenn die Reihenfolge in absteigender Reihenfolge erfolgt. Der Standardwert ist Falde, der in aufsteigender Reihenfolge sortiert wird.
Wir zeigen Ihnen anhand eines konkreten Beispiels, wie Sie die Sortierreihenfolge anpassen können. Der Panzer, der von einer bestimmten Mädchenschule in der Präfektur Ibaraki für die String-Typ-Split-Methode () verwendet wird Ziehen Sie in Betracht, die Tanks nach Stärke zu sortieren, basierend auf Daten wie Name, Geschwindigkeit und Panzerdicke. Überlegen Sie zunächst, wie die Daten für einen Tank dargestellt werden sollen. Der Tapple-Typ eignet sich zum Verwalten verschiedener Daten wie Namen und Nummern nebeneinander. Tippen Sie für jeden Panzer auf den Namen, die Geschwindigkeit, die Panzerdicke und das Kaliber der Waffe Schreiben Sie als "(" Typ 89 mittlerer Tank ", 20, 17, 57)". Ordnen Sie diese Daten für 5 Autos.
[Machen Sie eine Liste von Taples] tank_data = [("IV Tank", 38, 80, 75), ("LT-38", 42, 50, 37), ("Typ 89 Medium Tank", 20, 17, 57), ("III Assault Gun", 40, 50, 75), ("M3 Medium Tank", 39, 51, 75)]
Um diese Daten zu sortieren, müssen wir klar definieren, was wir stark sein müssen. Es ist schwierig, eine strenge Definition zu treffen, aber hier gilt: "Je größer der Wert für Geschwindigkeit, Panzerdicke und Hauptkanonendurchmesser, desto stärker." Ich werde eine Regel machen. Erstellen Sie eine Funktion, die die Elemente der Liste als Zahlen zurückgibt. In diesem Fall, wenn Sie das Tupel der Tankdaten in der Liste übergeben Sie müssen nur eine Funktion erstellen, die die Spezifikationen hinzufügt und zurückgibt. Erstellen Sie eine Funktion, die die Zahlen des ersten Taples hinzufügt und zurückgibt. [Funktion evalu_tankdata (), die die Spezifikationen des Tanks hinzufügt und zurückgibt] def evaluate_tankdata(tap): return tup[1]+tup[2]+tup[3]
Mit der obigen Funktion evalu_tankdata () können Sie Tanks numerisch vergleichen. Lassen Sie uns die Stärke des Panzers anhand der Liste der von uns definierten Tupel quantifizieren. [Stärke jedes Panzers anzeigen] evaluate_tankdata(tank_data[0]) ↓ 193
evaluate_tankdata(tank_data[4]) ↓ 165
Sie können jetzt die Daten in der Liste vergleichen. Übergeben Sie diese Funktion als Argumentschlüssel der sort () -Methode. Anschließend werden die Elemente der Liste an die Funktion übergeben und ausgewertet, und die Elemente werden sortiert. Lassen Sie uns nun die Daten mithilfe der sort () -Methode sortieren. Versuchen Sie danach, die sortierte Liste anzuzeigen. [Nach Tankstärke sortieren] tank_data,sort(key=evaluate_tankdata, reverse=True) tank_data ↓ [("IV Tank", 38, 80, 75), ("III Assault Gun", 40, 50, 75), ("M3 Medium Tank", 39, 51, 75), ("LT-38" , 42, 50, 37), ("Typ 89 Medium Tank", 20, 17, 57)]
Das Standardverhalten der sort () -Methode besteht darin, in aufsteigender Reihenfolge zu sortieren. Wir übergeben True an das Reverse-Argument, um die Reihenfolge in absteigender Reihenfolge zu sortieren, in der Reihenfolge der Stärke, dh die von der Funktion evalu_tankdata () zurückgegebene Zahl ist größer. Es stellte sich heraus, dass die Leistung des IV-Panzers am höchsten war. Auf diese Weise können Sie das Verhalten der sort () -Methode genau anpassen, wenn Sie eine Funktion erstellen, die die Elemente der Liste auswertet und ein Argument angibt.
Recommended Posts