Heim  >  Artikel  >  Backend-Entwicklung  >  Einführung in die sortierte Python-Funktion

Einführung in die sortierte Python-Funktion

高洛峰
高洛峰Original
2017-03-04 17:29:372513Durchsuche

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 auf meinem aktuellen 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,'weiblich']], sortieren und ausgeben nach dem ersten Buchstaben des Namens bzw. Alters;

2. Geben Sie die Vergleichsergebnisse gemäß der angegebenen Ausgabemethode aus und ergänzen Sie die Personenklasse >

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 und ich habe es den ganzen Nachmittag gemacht (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))
 题目1
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]))

题目2答案
Schauen Sie sich die offizielle Python-Dokumentation an und 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

Weitere Artikel zur Einführung von Python-sortierten Funktionen finden Sie auf der chinesischen PHP-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