Im Gegensatz zu dem, was andere geschrieben haben, können Sie die min()
/ max()
Funktionen für dieses Problem, da diese Funktionen die Datenstruktur (Array) nicht verstehen, die übergeben werden in. Diese Funktionen funktionieren nur für skalare Array-Elemente.
BEGIN EDIT
Der Grund warum die Verwendung von min()
und max()
scheint die richtige Antwort zu geben, die sich auf Typ-Casting-Arrays auf ganze Zahlen bezieht, was ein undefiniertes Verhalten :
Das Verhalten beim Konvertieren in Ganzzahl ist für andere Typen nicht definiert. Unterlassen Sie verlassen sich auf jedes beobachtete Verhalten, so wie es ist kann sich ohne vorherige Ankündigung ändern.
Meine obige Aussage über das Typcasting war falsch. Eigentlich min()
und max()
funktioniert mit Arrays, aber nicht so, wie das OP sie benötigt. Bei Verwendung von min()
und max()
mit mehreren Arrays oder einem Array von Array-Elementen werden Element für Element von links nach rechts verglichen:
Übersetzt in das OP-Problem zeigt dies den Grund, warum die direkte Verwendung von min()
und max()
scheint das richtige Ergebnis zu liefern. Die ersten Elemente der Arrays sind die id
-Werte, also min()
und max()
vergleicht sie zuerst, was im Ergebnis zu dem korrekten Ergebnis führt, weil der niedrigste id
der ist eine mit der niedrigsten count
und die höchste id
ist die mit der höchsten count
.
ENDE BEARBEITEN
Der richtige Weg wäre die Verwendung einer Schleife.
%Vor%Was hast du mit ein paar Loops gemacht? Eins ist genug genug :)
Sie können die Funktionen max
/ min
verwenden, da sie ein Array mit dem Maximum / Minimum jedes Indexes zurückgeben. Ihr Beispiel sollte array(189, 'Networking
', 48)
für max
zurückgeben. Sie könnten dann die Anzahl von diesem Array greifen.
Update funktioniert nicht so wie ich es gemacht habe. Das Beispiel der Handbuchseite ist irreführend und das Beispiel über gibt das richtige Ergebnis mit max, aber das ist nur ein Zufall.