Maison >développement back-end >Tutoriel Python >Un petit exemple sur la fonction triée Python
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 que pour 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'],[' juin',15,'femal']], triez la sortie en fonction de la première lettre du nom et de l'âge respectivement
2 Affichez les résultats de la comparaison selon la méthode de sortie donnée et complétez la classe Personne. ;
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('p1:{} less than p2:{}'.format([p1.name,p1.age],[p2.name,p2.age])) else: print('p1:{} gte than p2:{}'.format([p1.name,p1.age],[p2.name,p2.age]))
C'est tellement simple que 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))
Réponse à la question 2
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 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('sherry',20) p2 = Person('june',20) if p1<p2: print('p1:{} less than p2:{}'.format([p1.name,p1.age],[p2.name,p2.age])) else: print('p1:{} gte than p2:{}'.format([p1.name,p1.age],[p2.name,p2.age]))
Voir pythonDocumentation officielle, 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
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!