Voilà, j'aimerais savoir comment trier une liste de tulpes... Ce n'est pas la solution qui m'intéresse, mais plutôt les explications...
Ta demande est un peu vague, tout dépend de ton niveau en Python, de ta capacité d'assimilation et de tes motivations. Plusieurs solutions sont envisageables, comme l'utilisation de la fonction sorted et de ses options (ça peut être compliqué) ou un tri tout bête (genre tri par sélection) que tu écris toi-même.
Voilà, j'aimerais savoir comment trier une liste de tulpes... Ce n'est pas la solution qui m'intéresse, mais plutôt les explications...
Ta demande est un peu vague, tout dépend de ton niveau en Python, de ta capacité d'assimilation et de tes motivations. Plusieurs solutions sont envisageables, comme l'utilisation de la fonction sorted et de ses options (ça peut être compliqué) ou un tri tout bête (genre tri par sélection) que tu écris toi-même.
Ah en effet, je viens de relire mon post, et j'ai completement oublié de préciser que j'aurais aimé le faire avec sorted..
Comme l'a dit quelqun_d'autre, je savais qu'il fallait un argumet comme key, mais je ne comprends pas comment configurer cet argument...
Comme l'a dit quelqun_d'autre, je savais qu'il fallait un argumet comme key,!
Il y a deux méthodes, cf. le code auto-explicatif suivant :
# -*- coding: utf-8 -*-
# Options de la fonction sorted
# Python 2.x
inv = [
("Pomme", 18), ("Orange", 10),
("Fraise", 17),("Poire", 21)]
# 1ère méthode
def ma_cmp(x,y):
# Je compare par rapport à la 2ème (ie indice 1)
# composante de chaque élément
# ici x et y
return cmp(x[1],y[1])
# comparaison suivant la 2ème composante de chaque tuple
# ici comparaison suivant les nombres de inv
print sorted(inv, cmp=ma_cmp)
# 2ème méthode
def ma_clef(x):
# la fonction par comparaison de Python s'applique
# à la 2ème composante (indice 1) de chaque élément à comparer
return x[1]
print
# comparaison suivant la 2ème composante de chaque tuple
# ici comparaison suivant les nombres de inv
print sorted(inv, key=ma_clef)
Je préfère cette méthode que j'ai tout de suite accrochée et surtout, comprise. Je pense que chacun ses gouts, personne n'est en mesure de dire : ça c'est mieux que ça par ce que blablabla... Ce sont des préférences ..
Merci à tous ! Bonne soirée, et à bientôt sur le SDZ !
Ça a le mérite d'être plutôt simple à comprendre : effectuer le tri avec l'élément de la liste situé à la position 1.
Anecdote un peu inutile : je pensais justement à poster une fonction du genre tout à l'heure, et avant que fred1599 ne poste je ne savais même pas que ça existait déjà.
Ça a le mérite d'être plutôt simple à comprendre : effectuer le tri avec l'élément de la liste situé à la position 1.
Anecdote un peu inutile : je pensais justement à poster une fonction du genre tout à l'heure, et avant que fred1599 ne poste je ne savais même pas que ça existait déjà.
Effectivement, encore une possibilité
Tri de liste
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Python c'est bon, mangez-en.