Trier un ensemble en Python

Hemank Mehtani 30 janvier 2023
  1. Utilisez la fonction sorted() pour trier un ensemble en Python
  2. Utilisez la méthode sort() pour trier un ensemble en Python
Trier un ensemble en Python

Les ensembles sont une collection non ordonnée et non indexée n’ayant aucun élément en double. Les ensembles sont l’un des quatre types de données intégrés disponibles dans Python et sont écrits à l’aide d’accolades.

Etant donné que les ensembles ne sont pas ordonnés, il n’est pas possible de trier les valeurs d’un ensemble. Cependant, si nous imprimons un ensemble, il est affiché de manière triée.

Voir le code ci-dessous.

s = {5, 2, 7, 1, 8}
print(s)

Production:

{1, 2, 5, 7, 8}

Si nous voulons, nous pouvons utiliser différentes fonctions pour trier un ensemble et renvoyer une liste. Ceux-ci sont discutés ci-dessous.

Utilisez la fonction sorted() pour trier un ensemble en Python

La fonction sorted() est une fonction intégrée à Python qui renvoie une séquence triée (liste, tuple, chaîne) ou une collection triée (ensembles, dictionnaire) sous la forme d’une liste. La fonction sorted() n’a aucun effet sur la séquence itérable d’origine car elle fournit une nouvelle sortie triée.

Par example,

s = {5, 2, 7, 1, 8}
print(sorted(s))

Production:

[1, 2, 5, 7, 8]

Notez que la fonction sorted() renvoie une liste au lieu d’un ensemble. Nous pouvons à nouveau convertir cette liste en un ensemble en utilisant la fonction set(). Cependant, cela est redondant puisque les ensembles ne sont pas ordonnés.

Utilisez la méthode sort() pour trier un ensemble en Python

La méthode sort() permet de trier les éléments donnés dans une liste par ordre croissant ou décroissant. C’est un processus destructeur, c’est-à-dire que, contrairement à la fonction sorted(), la méthode sort() trie les éléments dans la liste d’origine elle-même.

Nous ne pouvons pas utiliser cette fonction avec un ensemble. Cependant, nous pouvons inclure un ensemble dans une liste, et il les triera.

Par example,

s = [{5, 2, 7, 1, 8}]
s.sort()
print(s)

Production:

[{1, 2, 5, 7, 8}]

Notez que la fonction sort() renvoie également la sortie finale dans une liste. Nous pouvons également adopter une approche similaire avec la fonction sorted().

D’autre part, nous pouvons convertir l’ensemble en liste à l’aide de la fonction list() et le trier avec cette méthode.

Voir le code ci-dessous.

s = {5, 2, 7, 1, 8}
l = list(s)
l.sort()
print(l)

Production:

[1, 2, 5, 7, 8]