Bonjour,
Je souhaiterais trier mon dictionnaire de tuples en fonction du premier élément du tuple qui est un entier (du plus petit au plus grand). Je n'arrive pas à trouver la "key" pour la fonction sorted.
Pourriez vous m'aider ?
Merci d'avance.
Bonjour,
Je souhaiterais trier mon dictionnaire de tuples en fonction du premier élément du tuple qui est un entier (du plus petit au plus grand). Je n'arrive pas à trouver la "key" pour la fonction sorted.
Pourriez vous m'aider ?
Merci d'avance.
Salut,
Est-ce que ceci répond à ta question:
On peut trier un dico sur les clés ou sur les valeurs aisément. Le tri sur les tuples s'effectue d'abord sur la première valeur, puis sur la séconde.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 # Un dico contenant des tuples: d = {0: (2, 1), 1: (1, 2), 2: (7, 8), 3: (2, 2), 4: (2, 0), 5: (2, 3)} sorted(d.keys()) #[0, 1, 2, 3, 4, 5] sorted(d.values()) #[(1, 2), (2, 0), (2, 1), (2, 2), (2, 3), (7, 8)]
Ju
Salut merci pour ta réponse.
Oui effectivement ça règle le problème. J'ai trouvé une autre solution (peut être plus compliquée )
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 sorted_data = sorted(data.iteritems(), key=lambda x : x[1][0]) for a,b in sorted_data: ...
Oui, effectivement c'est une autre solution.
Plus complète et paramétrable, tu peux définir toi même une fonction sur laquelle trier (lambda ou def). Ci-dessous un exemple issu du blog sametmax:
Ciao
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 def carre(val): # on va ordonner par valeur de carré return val**2 sorted([-1, -2, 0, 3], key=carre) #[0, -1, -2, 3]
Ju
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager