Maison  >  Article  >  développement back-end  >  Introduction à la fonction triée Python

Introduction à la fonction triée Python

高洛峰
高洛峰original
2017-03-04 17:29:372532parcourir

J'ai appris la programmation socket il y a deux jours. Lorsque j'ai demandé conseil à un certain expert, j'ai été rejeté. J'avais l'impression de vouloir courir avant même d'avoir appris à marcher. Le maître m'a dit qu'à mon niveau actuel, je devrais faire quelques petits exercices comme les fichiers d'exploitation, les numéros de série, etc. pour approfondir ma compréhension. Voici un petit exercice qu'il m'a donné :

1. datas = [['sherry',19,'female'],['flora',21,'female'],['june', 15,'femal']], trier et afficher respectivement la première lettre du nom et de l'âge ;

2. Afficher les résultats de la comparaison selon la méthode de sortie donnée et compléter la classe Person

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]))
C'est si simple et je l'ai fait tout l'après-midi (gifle)

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答案
Consultez la documentation officielle de python et résumez les connaissances acquises .

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

Renvoie une liste réorganisée, a deux arguments de mot-clé facultatifs (spécifiez les arguments en utilisant leurs noms plutôt que leurs positions).

key définit une fonction avec des paramètres, extrait un élément de la liste en tant que paramètre de cette fonction et renvoie la valeur comme mot-clé que vous appelez. La valeur par défaut est Aucun (comparaison directe. de l'élément de liste)

reverse est une valeur booléenne. True signifie trier les éléments de la liste dans l’ordre inverse.

2. ln(a,b), lors de l'utilisation de a

Pour plus d'articles liés à l'introduction des fonctions triées Python, veuillez faire attention au site Web PHP chinois !



Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn