[Python] Was ist der sortierte Schlüssel?

sorted , list.sort()

Diese beiden Funktionen sind in Python integriert und sortieren die Liste. Wenn es sich um ein eindimensionales Array handelt, müssen Sie nicht zu viel darüber nachdenken, aber es ist ärgerlich, wenn es um mehrere Bestellungen geht. Hier ist die Erklärung als Methode, wenn es sich um mehrere Ordnungen handelt

sorted


	a = [
      [1,7,'z'],
      [3,2,'x'],
      [1,8,'r'],
      [2,2,'s'],
      [1,9,'b'],
      [2,2,'a']
    ]
    print sorted(a, key=lambda x:x[2])

Wenn Sie diesen key = lambda x: x [2] schreiben, wird die Liste nach index = 2 sortiert, hier nach Zeichen. Ich war mir jedoch nicht sicher, ob das Übergeben dieser Lambda-Funktion funktionieren würde. Anscheinend steckte ich immer noch in einer Sprache fest, die altmodische Funktionen nicht umbenennen konnte.

example


	def f1(data,function):
		p = []
		for i in data:
			p.append(function(i))
		return p
	
	def f2(num):
		return num/2.
		
	a = f1  #Variable a bedeutet Funktion f1
	b = f2  #Variable b bedeutet die Funktion f2

    print f1(3,f2)    #Mit diesem Ergebnis
	print a(3,b)      #Dieses Ergebnis ist das gleiche

In sortiert wurde der Schlüssel nicht angegeben, um das zweite Element zu vergleichen. Dies bedeutet, dass eine Funktion angegeben wurde, die die zu vergleichenden Elemente zurückgibt.

sorted


	sort(a,key=str.lower)
	sort(a,key=lambda x:x[2])
	    # for i in a:
	    #     key(i) =>Vergleichsfaktor

Dies bedeutet, dass Sie sogar Ihre eigenen ausgefeilten Funktionen einsetzen können.

function_x


	def function_x(something):
		'''
Etwas, das sehr aufwändige und unerwartete Ergebnisse liefert
		'''
		return result
		
	a = [
      [1,7,'z'],
      [3,2,'x'],
      [1,8,'r'],
      [2,2,'s'],
      [1,9,'b'],
      [2,2,'a']
    ]
    print sorted(a,key=function_x)

Wenn Sie beispielsweise eine Funktion erstellen, die die Weltrangliste des Fußballs zurückgibt, wenn Sie einen Ländernamen werfen und sortieren, Sie können nach Ländernamen in der Reihenfolge der Fußball-Rangliste sortieren. (Keine Nachfrage) Dies kann nützlich und unerwartet nützlich sein.

Recommended Posts

[Python] Was ist der sortierte Schlüssel?
[Python] Was ist @? (Über Dekorateure)
Was ist Python?
Wofür ist der Python-Unterstrich (_)?
Was ist Python?
Was ist "Mahjong" in der Python-Bibliothek? ??
[Python] Was ist Pipeline ...
[Python] Was ist virtualenv?
Was ist im Docker Python-Image pfeifend?
[Python] Python und Sicherheit - is Was ist Python?
[Python] * args ** Was ist kwrgs?
Was ist die Schnittstelle für ...
Was ist die Rückruffunktion?
Python-Grundkurs (1 Was ist Python?)
[Python] Was ist eine Zip-Funktion?
[Python] Was ist eine with-Anweisung?
Python für Anweisung ~ Was ist iterierbar ~
Was ist das X Window System?
Was ist die Standard-TLS-Version des Python-Anforderungsmoduls?
Python> Was ist ein erweitertes Slice?
So stellen Sie fest, dass in Python3 ein Kreuzschlüssel eingegeben wurde
Was tun, wenn der Werttyp in Python nicht eindeutig ist?
[Python] Was wird durch Mehrfachvererbung geerbt?
Was ist NaN? NaN Zoya (Python) (394 Tage zu spät)
Was für eine Programmiersprache ist Python?
Was ist Clivoa, ein Framework für die ETL-Verarbeitung?
[Unix] Was ist der Zombie-Prozess / Orphan-Prozess?
Was ist die Ursache für den folgenden Fehler?
Wo ist der Python-Instanziierungsprozess geschrieben?
Was ist ein Hund? Python-Installationsvolumen
[Python] [Meta] Ist der Python-Typ ein Typ?
[Maschinelles Lernen] Was ist LP-Norm?
Was ist ein Namespace?
Was ist copy.copy ()
[Python] Was ist ein formales Argument? So stellen Sie den Anfangswert ein
Was ist die XX-Datei im Stammverzeichnis eines beliebten Python-Projekts?
Python ist einfach
Was ist Django? .. ..
[Einführung in Python] Was ist der Unterschied zwischen einer Liste und einem Taple?
Was ist dotenv?
Was ist POSIX?
Was ist Linux?
[Beispiel für eine Python-Verbesserung] Was ist die empfohlene Lernseite für Python-Anfänger?
Was ist SALOME?
Was ist Linux?
Was für ein Buch ist der meistverkaufte "Python Crash Course" der Welt?
Was ist Hyperopt?
Python ist eine Instanz
Was ist Linux?
[Einführung in Python] Wie wird mit der continue-Anweisung wiederholt?
Was ist Pyvenv?
Was ist __call__?
Was ist Linux?
Was ist ein Algorithmus? Einführung in den Suchalgorithmus] ~ Python ~
Was ist der Unterschied zwischen "pip" und "conda"?
Was ist "funktionale Programmierung" und "objektorientiert"? Python Edition