Faire évoluer un tuple ?

Presque tout ce qu’on a déjà vu sur les listes fonctionne sur les tuples. Presque tout.

À retenir :

  • un tuple, c’est immutable
  • une liste, c’est mutable

Quand utiliser un tuple

On peut se demander alors, à quoi ça sert d’utiliser des tuples alors que les listes semblent plus flexibles ? Il y a plusieurs raisons :

  1. Des meilleures performances : votre code ira plus vite si vous utilisez des tuples. Honnêtement à votre niveau vous n’avez absolument pas besoin de vous en préoccuper (même moi ça n’a presque aucun impact sur mon travail), mais c’est une bonne raison dans un cadre professionnel exigeant.
  2. Un “contrat” : quand on utilise un tuple, cela crée implicitement un contrat pour le reste du code : les valeurs dedans ne vont jamais changer ! Ça sert quand quelqu’un d’autre (ou vous-mêmes, trois jours plus tard) lit votre code.
  3. Un “style d’écriture” : j’ai montré que les listes peuvent contenir des données hétérogènes (des int et des str par exemple). On peut décider de s’interdire cette possibilité. C’est d’ailleurs la manière dont je code, en général. Imaginez que vous travaillez dans une école. Selon vous, qu’est-ce qui est plus pratique pour l’administratif : une liste contenant tous les êtres humains présents dans l’école, ou bien, une liste des profs et une liste des élèves

La question, elle est vite répondue. Mais du coup, parfois on a quand même besoin de stocker des valeurs hétérogènes dans la même “liste”, et c’est dans ces cas que le tuple est utile 🤓