Heim >Backend-Entwicklung >Python-Tutorial >Ein kleines Beispiel für die sortierte Python-Funktion

Ein kleines Beispiel für die sortierte Python-Funktion

迷茫
迷茫Original
2017-03-25 14:39:571293Durchsuche

Als ich vor zwei Tagen einen bestimmten Experten um Rat fragte, hatte ich das Gefühl, ich wollte laufen, bevor ich überhaupt laufen konnte. Der Meister sagte, dass ich für mein aktuelles Niveau einige kleine Übungen wie Betriebsdateien, Seriennummern usw. machen sollte, um mein Verständnis zu vertiefen. Das Folgende ist eine kleine Übung, die er mir gegeben hat:

1 datas = [['sherry',19,'female'],['flora',21,'female'],[' june',15,'femal']], sortieren Sie die Ausgabe nach dem ersten Buchstaben des Namens bzw. des Alters;

2. Geben Sie die Vergleichsergebnisse gemäß der angegebenen Ausgabemethode aus und ergänzen Sie die Person-Klasse ;

class_mates = {'sherry':[18,'male'],'june':[20,'female'],'flora':[19,'female'],'alina':[21,'male']}

class Person(object):

  def __init__(self,name,age):
  self.name = name

p1 = Person('sherry',20)
p2 = Person('june',20)


if p1<p2:
print(&#39;p1:{} less than p2:{}&#39;.format([p1.name,p1.age],[p2.name,p2.age]))
else:
print(&#39;p1:{} gte than p2:{}&#39;.format([p1.name,p1.age],[p2.name,p2.age]))

Es ist so einfach, dass ich es den ganzen Nachmittag gemacht habe (Schlag ins Gesicht)

def get_first(info):
     first_value = info[0][0]
     return first_value

 na = sorted(datas,key=get_first)
 print(na)

 def age_sort(info):
     return info[1]
 print(sorted(datas,key=age_sort))

Antwort auf Frage 2

class_mates = {&#39;sherry&#39;:[18,&#39;male&#39;],&#39;june&#39;:[20,&#39;female&#39;],&#39;flora&#39;:[19,&#39;female&#39;],&#39;alina&#39;:[21,&#39;male&#39;]}

class Person(object):

    def __init__(self,name,age):
        self.name = name
        self.age = age
    def __lt__(self,others):
        if(self.age<others.age):
            return 1
        elif(self.age==others.age): 
            if(self.name[0]<others.name[0]):
                return 1
            else:
                return 0
        return 0

p1 = Person(&#39;sherry&#39;,20)
p2 = Person(&#39;june&#39;,20)


if p1<p2:
    print(&#39;p1:{} less than p2:{}&#39;.format([p1.name,p1.age],[p2.name,p2.age]))
else:
    print(&#39;p1:{} gte than p2:{}&#39;.format([p1.name,p1.age],[p2.name,p2.age]))

AnsichtPythonOffizielle Dokumentation, fassen Sie die gewonnenen Erkenntnisse zusammen.

1、sorted(iterable[, key][, reverse])

Gibt eine neu geordnete Liste zurück, hat zwei optionale Schlüsselwortargumente (geben Sie Argumente anhand ihrer Namen und nicht anhand ihrer Positionen an).

key definiert eine Funktion mit Parametern, extrahiert ein Element der Liste als Parameter dieser Funktion und gibt den Wert als das von Ihnen aufgerufene Schlüsselwort zurück. Der Standardwert ist None (direkter Vergleich). des Listenelements)

reverse ist ein boolescher Wert. True bedeutet, die Elemente in der Liste in umgekehrter Reihenfolge zu sortieren.

2. ln(a,b), wenn a

Das obige ist der detaillierte Inhalt vonEin kleines Beispiel für die sortierte Python-Funktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn