Trier et inverser des listes

9.2 Trier et inverser des listes

Objectifs d'apprentissage

À la fin de cette section, vous devriez être en mesure de :

  • Comprendre le concept de tri.
  • Utiliser les méthodes intégrées sort() et reverse().

Tri

Ordonner les éléments d'une séquence est souvent utile. Le tri (sorting) est l'opération consistant à réorganiser les éléments d'une séquence par ordre croissant ou décroissant.

Le tri peut s'appliquer à des données numériques ou non numériques. Pour ordonner du texte, l'ordre du dictionnaire est utilisé. Ex. : « bat » précède « cat » parce que « b » précède « c ».

Faites le point

Tri

Concepts en pratique

Tri

1.
Quel serait le dernier élément de la liste suivante si elle est triée par ordre décroissant ?
[12, 3, 19, 25, 16, -3, 5]
  1. 25
  2. -3
  3. 5
2.
Ordonnez la liste suivante par ordre croissant.
["cat", "bat", "dog", "coyote", "wolf"]
  1. ["bat", "cat", "coyote", "dog", "wolf"]
  2. ["wolf", "coyote", "dog", "cat", "bat"]
3.
Quelle est la relation entre les mots "flask" et "flash" en Python ?
  1. "flask" < "flash"
  2. "flask" == "flash"
  3. "flask" > "flash"

Utiliser
sort()
et
reverse()

Python fournit des méthodes pour réorganiser les éléments d'une liste.

  • La méthode sort() organise les éléments d'une liste par ordre croissant. Pour les chaînes de caractères, les valeurs ASCII sont utilisées et les majuscules précèdent les minuscules, ce qui peut donner des résultats inattendus. Ex. : "A" est placé avant "a" par ordre croissant, mais c'est aussi le cas de "G" ; ainsi, "Gail" précède "apple".
  • La méthode reverse() inverse les éléments d'une liste.

Exemple 9.2

Trier et inverser des listes

    # Setup a list of numbers
    num_list = [38, 92, 23, 16]
    print(num_list)

    # Sort the list
    num_list.sort()
    print(num_list)

    # Setup a list of words
    dance_list = ["Stepping", "Ballet", "Salsa", "Kathak", "Hopak", "Flamenco", "Dabke"]

    # Reverse the list
    dance_list.reverse()
    print(dance_list)

    # Sort the list
    dance_list.sort()
    print(dance_list)

La sortie du code ci-dessus est :

    [38, 92, 23, 16]
    [16, 23, 38, 92]
    ["Dabke", "Flamenco", "Hopak", "Kathak", "Salsa", "Ballet", "Stepping"]
    ["Ballet", "Dabke", "Flamenco", "Hopak", "Kathak", "Salsa", "Stepping"]

Concepts en pratique

Méthodes sort() et reverse()

Utilisez la liste suivante pour les questions ci-dessous.

board_games = ["go", "chess", "scrabble", "checkers"]
4.
Quelle est la méthode correcte pour trier la liste board_games par ordre croissant ?
  1. sort(board_games)
  2. board_games.sort()
  3. board_games.sort('ascending')
5.
Quelle est la méthode correcte pour inverser la liste board_games ?
  1. board_games.reverse()
  2. reverse(board_games)
6.
Quel serait le dernier élément de board_games après l'application de la méthode reverse() ?
  1. 'go'
  2. 'checkers'
  3. 'scrabble'

À vous d'essayer

Trier et inverser

Complétez le programme ci-dessous pour ordonner et afficher les nombres par ordre croissant et décroissant.